1.Final 关键字:
final 为最终的意思,使用final声明一个属性,就是常量,常量的命名规则建议使用全大写,常量必须在定义时或在构造器中初始化(一般在定义时就会赋值);
一般写常量时都会去写一个常量类,如
想要输出访问时,直接用类名访问
输出结果:
2、使用final声明的方法,只能被子类继承不能被重写,表示为最终方法
3、使用final声明的类,不能被继承,表示为最终类
抽象类的基本概念:
很多具有相同特征和行为的对象可以抽象为一个类,很多具有相同特征和行为的类可以抽象为一个抽象类
抽象类使用abstract 关键字声明的类叫抽象类
抽象类一般都是用继承,来实现,因为抽象方法是不能实现的,所以我们继承抽象类的具体类必须实现所有抽象方法 如:
//定义一个抽象类
abstract class Animal{
//抽象方法
public abstract void move();//方法的声明,抽象方法只有声明,没有实现
}
abstract class Person extends Animal{
public abstract void eat();
}
//继承抽象类的具体类必须实现所有抽象方法
class Man extends Person{
public void move() {
System.out.println("我是男人,我爱跑步");
}
public void eat() {
System.out.println("我是男人,我爱吃肉");
}
}
class Women extends Person{
public void eat() {
System.out.println("我是女人,我喜欢吃饭");
}
public void move() {
System.out.println("我是女人,我喜欢运动");
}
}
然后再调用Man 和Women 的eat move方法就可以输出
抽象类小结:
抽象类:用abstract关键字声明的类成为抽象类
很多具有相同特征和行为的对象可以抽象为一个类,很多具有相同特征和行为的类可以抽象为一个抽象类
抽象类的特点:
1、抽象类可以没有抽象方法,有抽象方法的类必须是抽象类
2、非抽象类继承抽象类必须实现所有抽象方法
3、抽象类可以继承抽象类,可以不实现父类抽象方法。
4、抽象类可以有方法实现和属性
5、抽象类不能被实例化
6、抽象类不能声明为final
7、抽象类可以有构造方法