JAVA基础:一、类和对象

本文介绍了Java面向对象的基础知识,包括类和对象的概念、属性与方法的定义、封装思想的应用及访问控制权限的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、复习
 Java基础语法规范
        Java两种大的数据类型:基本数据类型、引用数据类型
        基本数据类型:八种回顾
                      引用数据类型:数组、字符串、类、Scanner、Connection
 变量的命名规则:
       1.只能由数字、字母、下划线和$组成
       2.不能有数字开头
       3.不能以关键字命名(new class )
       4.严格区分大小写。
 八种基本数据类型:
       整形 int(32位)   long  short  byte
       小数:double  float
       字符型:char
       布尔型:boolean
 String(特殊的数据类型)
 变量; 数据类型 变量名;
 变量的赋值: 变量名 = 数据;
 注意:数据要和与之对应的数据类型相匹配。
 (错误示范:)int  a ="逗逼";
 算术运算符:+ - * / % += -= *=  ++ -- (自加,自减)
 注意:/(取整:当除数和被除数都是整数的时候,做的是取整) 例如:8/3=2
      例如; String str ="逗逼" ; str +="无聊"; 相当于 str = str +"无聊";
      例如:i++ 相当于   i= i+1;

 关系运算符: < > == <= >= !=
 逻辑运算符:&&并且   ||或者   !(非)
 if(){
 }
 if(){
 }else{
 }
 if(){
 }else if(){
 }
 while(){
 }
 for(int i ; i<10 ;i++){
 }
2、新内容
 一、目标:掌握类和对象的特征
  会创建和使用对象
  理解封装:a)理解封装概念。 b)掌握private关键字。c)掌握构造方法。d)掌握方法重载。
 二、类和对象(面向对象,属性,方法,封装,类与对象的概念,new,访问成员)
        ●从抽象的世界理解:
  面向过程;所有的代码都是写在main函数中的
  面向对象:可以把代码写在main函数之外
       把现实世界抽象到程序代码中------------------->
  类:物以类聚人以群分,人类,动物类,植物类。
  比如:某某同学,一看就是人类。标准是什么?
  不能说(两个眼睛一个鼻子俩胳膊俩腿)长得像人就是人(猩猩),要符合人类的定义。
  人类:能直立行走,能独立思考。
       ●类的属性,方法
  警察找犯罪现场目击证人描述犯罪嫌疑人。
  静态的特征(属性):身高、年龄、体重、男女
  动态的行为(方法):习惯行动作(无间道刘德华)
  一个类由两部分组成:属性、方法。
  类的特征:用变量描述
  类的行为:用函数描述
  
       ●类与对象的概念
  人类:特征:height weight
           行为:run  walk   cry  laugh  happy 直立行走、独立思考、会使用工具
  类是模子,确定对象将会拥有的特征(属性)和行为(方法)
  类和对象:类是对事件一类事物的描述(模板),对象就是类的具体化,(是类的产品)
  类是创建对象的模版,是一个抽象的概念。是一个看不见摸不着的东西。
  比如说:我叫你拿一个人类过来,你拿过来的往往是人类的实例:张三、李四
       ●从语法上理解:
  int a = 10;  //基本数据类型
  Person p = new Person();  //自定义数据类型
  ★类是我们自定义的一种数据类型,而对象则是这种数据类型的变量值。
       ●类和对象的关系:类是创建对象的模版,对象是类的一个实例。
  千万不能把类和对象搞混淆,它们是完全不同的两种东西:
   类是一个静态的东西,是一种定义,是一种概念,是一种数据类型。
   在现实生活中有:老师、学生、宿管阿姨、机房、快餐店、药
            代码里有:Scanner   Connection  Statement
   对象是一个实例,是真实存在的,我们可以去沟通交流使用操作
   对应上面的例子有:李老师、小崔、张阿姨、603、牛牛、太极藿香正气水
            代码里有:scan      conn    stat
         ●Java中类和实例的创建
  所有Java程序都以类为组织单元。(Java是纯面向对象的编程语言:封装、继承、多态)
  用关键字class来创建自定义数据类型。
  //无意义的类,只从语法上演示了java程序的运行
  public class HelloWorld{
          public static void main(String[] args){
   System.out.println("Hello World");
          }
  }
  
  //为什么要用面向对象,因为可以使用类将现实世界模拟到计算机程序中。
  ★面向对象是一种思维方式。
  public class  类名 {            类名:英文单词,有意义的,首字母大写。
                    //定义属性部分
                                 属性1的类型 属性1;
                                 属性2的类型 属性2;
                                 …
                                 属性n的类型 属性n;
                                 //定义方法部分
                                方法1;
                                方法2;
                                 …
                                方法m;
  }
  属性也叫成员变量,主要描述类的状态。
  方法也叫成员方法,主要描述类的行为。
  
        ●见图片01类、02类的定义、03生成对象
        ●见代码JavaOOP_01示例
  练习:新建一个Person类中添加姓名、性别、年龄。添加一个送外卖的方法(行为),
  并给方法设置一个返回值String。在main方法调用并接收返回值打印
 三、Java类中的方法(函数) ●见代码JavaOOP_01示例Person
  1.无参数无返回
       void 方法名(){}
  2.有参数无返回
       void 方法名(数据类型 参数名){}
   参数名可以随便命名,但是一定要遵守变量的命名规则
  3.无参数有返回
      返回值数据类型  方法名(){
            return  返回值;
   }
  4.有参数有返回
   返回值数据类型  方法名(数据类型   参数名){
            return  返回值;
   }
  形参:定义方法的时候,会需要传递参数。在定义的时候,那个参数叫做形参。
            就形式上的参数,没有实际的值。只起以形式上的作用。就是告诉你这个地方需要一个参数而已。
  实参:是调用方法的时候需要传递的参数,有实际意义(有值的变量)
 四、封装和访问控制权限(public和private)
        ●封装:将属性(变量)和行为(函数)封装到一个类中。
  public 、private 只是一个修饰词,被这两个词修饰的属性或者方法有以下特征:
  public(公共的东西,其他地方都可以用)
  private(私有的,只有自己可以使用)
  ★通常我们类的属性都是用private去修饰。但这也不是绝对,是情况而定。
   生成getters/setters方法。
   空白处点击鼠标右键---Source---Generate Getters and Setters--
   --选择你要生成getters/setters方法的属性——>ok即可
  将属性设置为私有,并使用set方法去设置属性的优点:
  保证数据的安全型
  我们还需要给这个类添加一个get方法去获取这个类中的属性值
  ★通常我们类的行为(方法)都用public去修饰
  ★封装的实现:
  1、修改类的属性的可见性来限制对属性的访问。
  2、为每一个属性创建一对赋值(setter)方法和取值(getter)方法用于对这些属性的访问。
  3、在(setter)(getter)方法中加入对属性存取的限制。(作用:为了保护字段)
  为啥?举例:你钱包空了要去银行账户取钱,你不是直接通过
  修改银行账户钱的属性减少,你是要通过一个窗口职员给你的
  账户取值的getter方法,然后减去给你现金数,职员再调用setter方法设置你的钱数
  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值