无参无返回值方法
[权限标识符] [标识符] void 方法名(){
方法体;
}
有参无返回值方法
[权限标识符] [标识符] void 方法名(参数类型 参数名){
方法体;
}
无参有返回值方法
[权限标识符] [标识符] [返回值类型] 方法名(){
方法体;
return 返回值;
}
有参有返回值方法
[权限标识符] [标识符] [返回值类型] 方法名(参数类型 参数名){
方法体;
return 返回值;
}
局部变量和成员变量的区别
1.定义的位置不一样
局部变量:在方法的内部。
成员变量:在方法的外部,直接写在类中
2.作用范围不一样
局部变量:只有方法当中才可以使用,除了方法就不能再用
成员变量:整个类全部可以通用
3.默认值不一样
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
4.内存的位置不一样
局部变量:位于栈内存
成员变量:位于堆内存
5.声明周期不一样
局部变量:随着方法进栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随之对象被垃圾回收而消失
权限修饰符
修饰符 | 当前类 | 同包 | 父子类(不同包) | 其他包 |
---|---|---|---|---|
public | T | T | T | T |
protected | T | T | T/F | F |
default(默认) | T | T | F | F |
private | T | F | F | F |
在不同包下的子父类中对于protected修饰的,子类的实例可以访问从父类继承而来的protected方法。即在子类中的某个方法直接访问父类的protected方法,再去实例化子类,通过子类的实例调用,从而间接实现访问父类的protected方法,但不能通过父类的实例直接去访问其protected方法。
面向对象-封装
封装就是将一些细节信息隐藏起来,对于外界不可见。
封装性在JAVA中的体现:
1.方法就是一种封装
2.关键字private也是一种封装
封装实体类的步骤:
1.将属性权限改为私有(private)
2.创建属性的Getter/Setter方法
this关键字
当方法的局部变量和类的成员变量重名的时候,根据"就近原则",优先使用局部变量。
如果需要访问本类当中当中的成员变量,需要使用格式:this.成员变量名
通过谁调用的方法,谁就是this
构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
注意事项:
1.构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2.构造方法不要写返回值类型,
3.构造方法不能return返回值
4.如果没有编写构造方法,那么编译器会默认一个空的构造方法
5.一旦编写了至少一个构造方法,那么编译器将不会默认添加构造方法
记于2021.12.16