1.构造方法
无参构造: pubilc void getName(){ };
有参构造:public 数据类型 GetName(参数列表){};
2.private - 私有化
3.this - 本对象
理解:this只能在构造方法和成员方法中使用,表示调用该方法的对象
this.属性:调用本对象的属性
this .方法:调用本对象方法
this():调用本对象的构造方法
5.封装 -- 重要
书写步骤: 1.私有化属性 2.get/set方法
get里面用return返回
set 方法内用this.属性名 = 要调用值;
6.分包:
解决重名问题
7.static
成员变量每个对象独享一份
静态变量每个对象共享一份
我们可以把一个类中众多对象的共有属性设置成静态属性。
修饰属性时应考虑生命周期:
创建是在:当class文件加载到方法区时,Jvm扫描该类的静属性,并把静态属性加载到静态区;
销毁:是在整个项目结束时才能被销毁;
8.代码块-----
代码块:
构造方法:
静态代码块:clss文件放进方法区的时候调用
9.继承
class 子类 extends 父类{}
子类就会自动拥有父类定义的属性和方法
父类又叫超类、基类
子类又叫派生类
含义:子类继承父类属性和方法
好处: 解决代码冗余
缺点: 增加了类与类之间的复杂度
1. 子类必须调用父类构造器,完成父类初始化
2. 创建子类对象时,不管使用子类的那个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,必须在子类中用super()去指定用父类的那个构造器完成对父类的初始化,否则,编译不通过。
3.当指定调用父类的某个构造器时,则显示调用一下,super(参数列表)
4.Super在使用时,需要放在构造器的第一行
5.super 和this() 都只能放在构造器的第一行,且两个不能同时共存在一个构造器中。编译不会通过。
6.super():只能在构造器中使用
10、super();
知识点:super 理解:父类的 作用:
super.属性:在子类中,调用父类非私有化的成员属性
super.方法:在子类中,调用父类非私有化的成员方法 super():在子类构造方法中的第一句调用父类非私有化的构造方法
//@Override 表示重写的注解 //注解:给程序员和程序解释代码信息
12、重写
知识点:重写
理解:父类方法在子类中重新写一遍
应用场景:父类方法不满足子类需求且父类方法不能被改动时,就在子类中使用重写
条件:
1.在子类中重写父类方法
2.返回值、方法名、参数列表必须和父类一致
3.访问修饰符不能比父类更严格
13、访问修饰符
private (私有的):一般属性用 因为要封装
默认的(可以不写):只能在本包中使用,不能在其他包使用。
public (公有的):一般方法用
Protected(受保护的): 一般在子类的属性和方法中用。
六、final(最后的、最终的)
final 可以修饰 类、属性、方法和局部变量
使用:
程序员角度:
1. 当不希望类被继承时,可以使用final修饰 2. 当不希望父类的某个方法被子类重写时 3.当不希望类的某个属性值被修改时 4.当不希望某个局部变量被修改时
final 修饰类,该类不能有子类
final 修饰变量,会变成常量
final 修饰方法, 该方法不能被重写