以final修饰的成员变量,对象虽然可以操作使用它,但是不能对它进行更改操作。其实,以final来修饰的类和方法,也有特殊的用途。以final修饰的类是不能被继承的,换句话说final类不能有子类
final定义的常量名全部大写:final String NHH=””
抽象类的存在的意义是被子类继承
抽象方法的存在的意义是被子类重写
抽象方法的限制
- final方法不能为抽象方法,这是因为final的方法不能被重写,但是抽象方法必须经过子类重写才能被使用
- 私有方法不能被定义为抽象方法,私有方法并不能被子类继承,而抽象方法必须被子类继承,然后重写实现。
- 静态方法不能被定义为抽象方法,因为抽象方法所在的抽象类是不能创建对象的,也就是不能够被实例化的。但是静态方法是可以通过类名调用,这样调用抽象方法是没有任何意义的、
如果一个类中存在抽象方法,那这个类一定是抽象类吗?是
如果一个类是抽象类,那这个类中一定存在抽象方法吗?不一定
- 不能用JAVA的关键字命名变量
- 在类里边只能存在属性(成员变量)、行为(成员方法)、方法块
有参构造方法的作用?
1、实例化对象,在堆内存中开辟内存空间
2、初始化成员变量
封装:隐藏细节(把属性设置为private),提供访问值的通道(提供Getter和Setter方法)
Getter方法的作用是:获取私有成员变量的值
Setter方法的作用是:给私有成员变量赋值(初始化)
继承:
1、子类通过extends关键字继承父类
2、子类可以拥有父类的所有非私有成员
3、子类可以通过super关键字访问父类的非私有成员
4、如果父类提供了有参构造方法,子类必须实现
//抽象方法:
//1、通过abstract关键字修饰的方法叫做抽象方法
//2、抽象方法只有方法头,没有方法体
//3、抽象方法存在的意义是:被子类重写
//4、如果一个类中存在抽象方法,这个类一定要被修饰为抽象类
//有参构造方法:初始化成员变量
//构造方法又叫构造器又叫构造函数
构造方法:
- 实例化对象
- 有参构造方法目的是初始化成员变量
- 构造方法又叫构造器又叫构造函数