您的位置:首页 > 编程语言 > Java开发

java学习笔记(二十四)抽象类

2011-11-03 12:26 387 查看
 
抽象类

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

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: