package net.laoyu.abstracts;
/**
* java中的对象是对现实世界的具象化,但是在现实世界中,有的类并不具备实例化的意义,因此我们要用抽象类
*
* 抽象类:
*
* 1.一个抽象的类是无法被实例化的,也就是无法创建这个对象
* 2.创建抽象类需要abstract关键字
* 3.使用abstract关键字修饰的方法叫抽象方法,可以不写方法的实现
* 4.抽象类中的某些方法需要子类的更好的实现,父类中实现没有意义(就比如宠物是宠物),所以我们就可以将抽象类中的方法定义为
* 抽象方法,没有具体的实现(也就是没有{}),
* 格式:
* 权限修饰符 abstract 返回值 方法名();
* 5.有抽象方法的一定是抽象类,但是抽象类的不一定有抽象方法(也就是可以不写抽象方法);
* 6.子类在继承父类的时候,必须将父类的抽象方法进行实现
*
*/
Pet类:
public abstract class Pet {
private String name;
private int age;
//abstract 抽象方法
public abstract void print();
public void show (){
System.out.println("Pet show...");
}
public Pet (){
}
public Pet(String name,int age){
this.name = name;
this.age = age;
}
}
Dog类:
package net.laoyu.abstracts; public class Dog extends Pet { private String gender; @Override public void print() { System.out.println("Dog print..."); } }
PetTest类:
package net.laoyu.abstracts; public class PetTest { public static void main(String[] args) { Dog dog = new Dog(); dog.print(); //Pet pet = new Pet(); // 一个抽象的类是无法被实例化的,也就是无法创建这个对象 } }