抽象类
总结:
1.抽象类不能被new出来,只能靠子类的来去实现它。
2.抽象类中可以写普通的方法
3.抽象方法必须写在抽象类中
4.new对象时,抽象类中存在构造器
5.抽象类存在的意义,方便代码的简洁
6.凡是存在继承关系,都会去走父类的构造方法,并且访问每一个方法,子类继承可以使用(private不好使)
下列示例代码:
抽象类Action
package oop.demo08;
//abstract抽象类 类 extends:单继承 (接口可以多继承)
public abstract class Action {
public Action() {
}
//约束~有人帮我们实现~
//abstract ,抽象方法,只有名字,没有方法的实现~
public abstract void doSomething();
}
抽象子类A:
package oop.demo08;
//抽象类的所有方法,继承了它的子类,都必须要实现它的方法~除非把子类变成抽象类
//public abstract class A extends Action{} 让它的子子类实现方法。
public abstract class A extends Action{
public A() {
}
public abstract void doSomething2();
public void say(){
System.out.println("say Hello");
}
}
子类B
package oop.demo08;
public class B extends A{
@Override
public void doSomething2() {
System.out.println("哈罗!我是他爸儿子的的方法");
}
@Override
public void doSomething() {
System.out.println("哈罗!我是他爸的方法");
}
}
主函数:
package oop;
import oop.demo08.A;
import oop.demo08.B;
public class Application {
//静态方法和非静态方法的区别很大!
//静态方法: //方法的调用只和左边定义的数有关。
public static void main(String[] args) {
B b = new B();
b.doSomething();
b.say();
}
}
结果为: