abstract关键字的使用

1.abstract :抽象的

2.abstract可以用来修饰的结构:类、方法

3.abstract修饰类:抽象类

3.1(此类不能实例化)

3.2(抽象类中一定有构造器,便于子类实例化调用,(涉及子类对象实例化的过程))

3.3(开发中,都会提供抽象类的子类,让子类对象实例化,完成相关操作)

4.abstract修饰方法:抽象方法

4.1(抽象方法只有方法的声明,没有方法体)

4.2(包含抽象方法的类,一定是一个抽象类。反之抽象类可以没有抽象方法)

4.3(若子类重写了父类中的所有抽象方法后,次子类才可实例化)

4.4(若子类没有重写父类中的所有抽象方法,则子类也是一个抽象类,需要用abstract修饰)

public class AbstractText {
    
    
	public static void main(String[] args) {
    
    
		
		}
}

abstract class Person{
    
    
	
	public abstract void song2();//抽象方法
}

abstract class Father extends Person{
    
    
	String name;
	int age;
	//无参构造方法
	public Father() {
    
    
		
	}
	//有参构造方法
	public Father(String name,int age) {
    
    
		this.name = name;
		this.age = age;
		
	}
	//实例方法
	public void song() {
    
    
		System.out.println("朱砂痣久难消");
		
	}
	//抽象方法
	public abstract void song1();
	
	
}

class Son extends Father{
    
    
	//方式1:当父类Father中有抽象方法时。子类可重写抽象方法,Son才不报错
	public  void song1() {
    
    
		System.out.println("你是否能知道");
	}
	//方式2:子类改为抽象类class前加abstract,Son不报错
	
	
	//当抽象父类Father继承抽象类Person时,子类Son还得重写Person的抽象方法,Son才不报错
	public void song2() {
    
    	
		System.out.println("窗前的明月光");
	}
	
}在这里插入代码片

猜你喜欢

转载自blog.csdn.net/weixin_51553816/article/details/112721065
今日推荐