您的位置:首页 > 其它

abstract 抽象类

2016-02-08 17:03 190 查看
package softstudy;

/*抽象类

* 当多个类中出现相同的功能 但功能主体不同

* 这时可以进行向上抽取 这时只抽取功能定义 不抽取功能主体。

* abstract 笼统的 抽象的 看不懂的方法

* abstract方法必须存在abstract类中 你不能创建一个看不懂的类的对象

*

* 就是看不懂

* 抽象类的特点:

* 1,抽象方法一定定义在抽象类中

* 2,抽象方法和抽象类都必须被abstract关键字修饰

* 3,抽象类不可以用new创建对象 因为调用抽象方法没有意义

* 4,抽象类中的抽象方法要想被使用,必须有子类复写起<所有的>抽方法后,建立子类对象调用

* 如果子类只覆盖了部分抽象方法 那么该子类还是一个抽象类

*

*抽象类和一般类没有太大的不同:

* 该如何描述事物就如何描述事物 只不过 该事物出现了看不懂的东西

* 这些不确定的部分也是该事物的功能 需要明确的出现 但是无法定义主体

* 通过抽象方法来表示.

*

*抽象类比一般类多了个抽象函数,就是在类中可以定义抽象方法。

*第二个 抽象类不可以进行实例化

*

*特殊:抽象类中可以不定义抽象方法 这样做仅仅是不让该类建立对象

*

* */

class Chongcistu extends StuStudent{

void study(){};//必须复写study方法;

}

public class AbstractDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

//new StuStudent.study();      实例化没有意义 没有执行体  方法体
new BaseStudent().study();

}


}

class AdvStudent extends StuStudent{

void study(){
System.out.println("study run");

}


}

class BaseStudent extends StuStudent{

void study(){
System.out.println("study run");
}


}

abstract class StuStudent{

abstract void study();

void sleep(){
System.out.println("躺着");
}


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