抽象类:
java中使用抽象类,限制实例化 java中的对象是对现实世界的具象化,但是在现实世界中,某些类并不具备实例化的意义,因此可以定义为抽象类 抽象类: 1.创建抽象类的时候需要添加 abstract 的关键字 2.不能进行实例化,也就是不能new对象 3.抽象类中的某些方法需要子类进行更丰富的实现,父类实现没有意义,此时可以将抽象类中 的方法定义为抽象方法,没有具体的实现,只包含方法名称,返回值,参数列表,访问修饰符 4.使用abstract关键字修饰的方法叫做抽象方法,可以不写方法的实现 5.子类在继承抽象父类的时候,必须要将父类中的抽象方法进行实现或者将子类也定义为抽象类 6.由抽象方法的一定是抽象类,但是抽象类中不一定包含抽象方法 abstract也可用于方法——抽象方法 抽象方法没有方法体 抽象方法必须在抽象类里 抽象方法必须在子类中被实现,除非子类是抽象类
public abstract class Pet {
private String name;
private int age;
//构造器不能被继承
public Pet(){
}
public Pet(String name,int age){
this.name = name;
this.age = age;
}
//抽象方法
public abstract void print();
public void show(){
System.out.println("Pet show...");
}
}
class Dog extends Pet{
@Override
public void print(){
System.out.println("Dog print...");
}
}
class PetTest{
public static void main(String[] args) {
Dog dog = new Dog();
dog.print();
// Pet pet = new Pet();实例化Pet没有意义
}
}
final的使用: final可以修饰变量: 表示变量的值不可变 final可以修饰方法: 表示方法不可以被重写 final可以修饰类 表示类不可以被继承 使用final修饰引