抽象类
1.1 抽象方法:只声明而未实现的方法,抽象方法必须使用abstract声明。
抽象类:包含一个抽象方法的类就称为抽象类。子类(如果不是抽象类)必须覆盖抽象类中的全部抽象方法。
1.2 定义规则
A: 包含一个抽象方法的类必须是抽象类。
B:抽象类和抽象方法都要使用abstract关键字声明。
C:抽象方法只需声明不需实现
D:抽象类必须被子类继承,
abstract class abstractDemo01
{
public static final String flag = "hello";
private String name="haha";
public String getName(){
return this.name;
}
public abstract void print();
};
其实抽象类就是比普通类多了一个抽象方法而已。
abstract class A
{
public static final String flag = "hello";
private String name="haha";
public String getName(){
return this.name;
}
public abstract void print();
};
public class abstractDemo01
{
public static void main(String args[]){
A a = new A();
}
}
结果;
F:\java>javac abstractDemo01.java
abstractDemo01.java:14: A 是抽象的;无法对其进行实例化
A a = new A();
^
1 错误
抽象类中虽然跟普通类非常相似,但是却不能直接实例化。
抽象类必须有子类,子类必须复写抽象类的全部抽象方法。
abstract class A
{
public static final String flag = "hello";
private String name="haha";
public String getName(){
return this.name;
}
public abstract void print();
};
class B extends A
{
public void print(){
System.out.println("flag:"+flag);
System.out.println("name:"+super.getName());
}
};
public class abstractDemo01
{
public static void main(String args[]){
B b = new B();
b.print();
}
}
结果、:
F:\java>javac abstractDemo01.java
F:\java>java abstractDemo01
flag:hello
name:haha