1.final的特点
final关键字是最终的意思,可以用来修饰类,方法和变量。
修饰类:该类就被称为最终类,特点是不能被继承。比如方法类。
修饰方法:该方法就被成为最终方法,特点是本能被重写。
修饰变量:该变量就只能被赋值一次。
2.常量
使用了static final 修饰的成员变量就被称为常量。
作用:通常用来记录系统的配置信息。
使用常量记录系统配置信息的优势、执行原理:
1.代码的可读性更好,可维护性也更好。
2.程序编译后,常量会被"宏替换",出现常量的地方全部会替换为其记住的字面量,这样也可以保证使用常量和直接使用字面量的性能是一样的。
3.抽象类
两种主要应用场景:
1:用抽象类,我们可以把子类的相同代码,包括方法签名都抽上来,这样可以更好的支持多态,以提高代码的灵活性。
2:反过来用,我们不知道系统中未来具体的业务实现时,我们可以先定义抽象类,将来子类继承实现,以方便系统的扩展使用。
java
package com.web807.abstract_study;
public abstract class Animal {
private String name;
public abstract void cry();
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
java
package com.web807.abstract_study;
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void cry() {
System.out.println(getName() + "猫叫--------");
}
}
java
package com.web807.abstract_study;
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void cry() {
System.out.println(getName() + "狗叫-----");
}
}
java
package com.web807.abstract_study;
public class Main {
public static void main(String[] args) {
Animal a = new Dog("阿黄");
a.cry();
}
}