2021-05-07

具有相同的特点(属性)和行为(方法)的集合的总称

对象

是某一类事物具体的体现(实例),将类的概念具体化

属性

是一类事物的特点或特征

方法

是一类事物可以进行的行为或动作(方法的命名遵循驼峰方法,首字母小写,其余单词首字母大写)

[访问修饰符] 返回值类型 方法名(参数){…【方法内执行的语句】}
返回值类型:该方法执行后的结果的数据类型
基本数据类型/引用数据类型(int float double Array)
void 空,方法执行后,不返回任何数据
如果方法需要返回值

  1. 需要在返回值类型处写上需要返回数据所对应的数据类型
  2. 在方法体的最后需要使用return值的格式,将值明确返回
    参数列表:
  3. 形式参数:该方法执行可能会用到的数据
  4. 形式参数的写法:数据类型,参数名
  5. 列表内可写多个参数,也可不写
  6. 有参数时,在使用方法时要调用,必须给参数先赋值
    {}方法体

方法功能的具体体现:

无返回值,无参数

无返回值,有参数

有返回值,无参数

有返回值,有参数

成员变量的默认值

数据类型默认值
整数(byte short int long)0
基本类型浮点类型(float double)0.0
字符型(char)空格
布尔类型(Boolean)false
引用类型数组、类、接口、字符串null
备注:方法内定义的变量没有初始化、不能被使用

变量根据定义的位置不同,我们给变量起了不同的名字

public class People{
String name ="小明";//成员变量
public void eat(String what){//局部变量
String food ="鸡蛋捞面";//局部变量
System.out.println(name +"中午吃的是:"+food);


}

}

在类中定义的位置不同

成员变量:类中、方法外
局部变量:方法中或者方法声明上(形式参数)

作用范围不同

成员变量:类中
局部变量:方法中

初始值不同

成员变量:有默认值
局部变量:没有默认值。必须先定义赋值,才能使用

在内存中存储的位置不同

成员变量:堆内存中
局部变量:栈内存当中

生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法调用结束而消失

修饰符不同

成员变量:可以使用修饰符
局部变量:不可以使用修饰符

面向对象的三大特点

封装,继承,多态

封装

原则:将属性隐藏起来,如果想要访问类中的某个属性,提供公共的访问方法对其访问

封装的步骤:

1.private关键字来修饰成员变量
2.对需要访问的成员变量提供getXxx和setXxx方法
注:get是取值,set是赋值
3.封装时的权限控制符区别:

封装时的权限控制符区别

封装的操作

private的含义:
1.private是一个权限修饰符,代表最小的访问修饰符
2.可以修饰成员变量(全局属性),也可以修饰成员方法
3.被private修饰的成员变量和成员方法,只能在本类中去访问

private的使用格式

private 数据类型 变量名
封装的好处

1.良好的封装能够减少代码之间的耦合性
2.类内部结构可以进行随意更改
3.可以对成员变量(全局属性)进行更精准的控制
4.隐藏信息,实现细节(就是隐藏对象的属性和实现细节。仅对外提供公共访问方式)

封装优化1_this关键字

我们发现setXxx()方法当中形参名字不符合我们标识符的命名规范—见名知意。如果修改成和成员变量相同的名字,会触发Java程序当中的就近原则会把方法中的变量变成形参变量,导致赋值失败,所以采用this关键字来解决,变量重名的问题。

this的含义

1.this代表的是所在类的当前类的引用(地址值)即对象对自己引用
备注:意思就是方法被哪个对象调用,方法中的this指代的就是代表的是哪个对象,即谁调用this就是谁

this使用的格式
 1.this的变量名

使用this关键字修饰方法当中的成员变量,解决成员变量被隐藏的问题

    //1.使用private关键字修饰成员变量
    private String name;
    private int age;
    //2.提供相应的getXxx()放法和setXxx()方法
    //可以访问类中的成员变量
    //getXxx()获取类中的成员变量信息
    public String getName(){
        return name;
    }
    //getXxx()设置类中的成员变量
    public String setName(String name){
        this.name = name;
    }
    //getXxx()获取类中的成员变量信息
    public int getAge(){
        return age;
    }
    //setXxx()设置类中的成员变量
    public void setage(String age) {
        age=age;
    }

封装优化2_构造方法

当一个对象被创建的时候,构造方法用来初始化对象,给对象的成员变量赋初始值
备注:无论你是否在封装类里定义构造方法,当类被定义出来的时候,系统会自动分配一个构造方法----无参的构造方法,一旦在类中显式定义构造方法,Java自动提供的默认的无参构造就会被自动销毁(被回收)

构造方法定义格式
修饰符  构造方法(参数列表){
//方法体内容
}
//构造方法没有返回值,构造方法名和类名要保持完全的一致

注意事项:
1.构造方法的方法名必须要与类名保持一致
2.构造方法不用声明返回值类型,void也能不需要
3.构造方法中不能用return返回一个具体值
4.如果定义类时没有显式的定义构造方法,系统会给一个默认的无参构造方法
5.一旦定义了一个构造方法,那么编译期会回收提供的隐式构造方法
6.构造方法可以重载:方法名相同,参数列表不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值