Java的抽象类
程序员文章站
2022-03-11 12:39:22
Java的抽象类 abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。 抽象类中可以没有抽象方法,但抽象方法的类一定要声明为抽象类。 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。 抽象方法:只有方法的声明,没有方 ......
java的抽象类
- abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。
- 抽象类中可以没有抽象方法,但抽象方法的类一定要声明为抽象类。
- 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。
- 抽象方法:只有方法的声明,没有方法的实现,它是用来让子类实现的。
- 子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明抽象类。
- 多用于多态中。
package com.cnblogs; //本类用于实现 public class application { public static void main(string[] args) { persion stu = new student(); persion tea = new teacher(); stu.show();//学生类实现抽象方法 tea.show();//老师类实现抽象方法 } }
package com.cnblogs; /* persion类 */ //抽象类 public abstract class persion { //约束~有人帮我们实现 //abstract ,抽象方法 只有方法名,没有方法的实现!不要写大括号! public abstract void show(); //1.不能new这个抽象类,只能靠子类去实现它:约束! //2.抽象类中可以写普通方法 //3.抽象方法必须在抽象类中 //抽象的抽象:约束 }
package com.cnblogs; /* student类 */ public class student extends persion{ @override public void show() { system.out.println("学生类实现抽象方法"); } }
package com.cnblogs; public class teacher extends persion{ @override public void show() { system.out.println("老师类实现抽象方法"); } }
抽象类中的构造函数通常在子类对象实例化时使用
package com.cnblogs; //本类用于实现 public class application { public static void main(string[] args) { student stu = new student(); /* 抽象类的构造方法 ================ 抽象类子类的构造方法 */ } }
package com.cnblogs; /* persion类 */ //抽象类 public abstract class persion { public persion() { system.out.println("抽象类的构造方法"); } }
package com.cnblogs; /* student类 */ public class student extends persion{ public student() { super(); system.out.println("================"); system.out.println("抽象类子类的构造方法"); } }
注意
以下关键字,在抽象类中。用是可以用的,只是没有意义了。
1.private:被私有化后,子类无法重写,与abstract相违背。
2.static:静态优先于对象存在,存在加载顺序问题。
3.final:被final修饰后,无法重写,与abstract相违背。
上一篇: 真没下毒