码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类、final关键字。

时间:2017-06-10 20:30:58      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:bst   static   chinese   美国   extend   tin   赋值   []   out   

final:

1.修饰符变量--->常量,运行的过程中无法重新赋值。
2.修饰符方法--->最终的方法,在子类中无法重写
3.修饰类--->最终的类,不能被继承。

 

抽象类作用:通过抽象类,可以避免子类设计的随意性。
* 通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用
*抽象方法:使用abstract修饰的方法,抽象方法没有方法体.
*抽象类:使用abstract修饰的类,抽象类中可以包含抽象方法。非抽象类不能包含抽象方法。
*包含抽象方法的类一定是抽象类, 抽象类中可以没有抽象方法。
*抽象类中可以包含构造方法,抽象类不能实例化,不能使用new关键字创建抽象类的对象.(抽象类不能new)
*Person p = new Person();//错误
*抽象类天生就是为继承设计。
*抽象类的子类必须重写抽象类中的抽象方法或者子类也是抽象类。
*/

=======================================================================================================

例:


public abstract class Person {
String name;
int age;
public Person(){

}

public void intro(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
//吃的方法
public abstract void eating();

}

 

*
* 子类继承了抽象类,就必须重写(实现)父类中抽象方法。
*
*/
public class Chinese extends Person {
public Chinese() {
}
public Chinese(String name,int age){
this.name=name;
this.age=age;
}

// 重写父类中抽象方法
@Override
public void eating() {
System.out.println("我是中国人,我喜欢吃饺子!");
}

}

 

ublic class American extends Person {
public American() {
}

public American(String name,int age){
this.name=name;
this.age=age;
}
=======================================================================================================
@Override
public void eating() {
System.out.println("我是美国佬,我喜欢吃牛排!");
}

public static void main(String[] args) {
Person p = new Chinese("小三",18);
p.intro();
p.eating();

Person p2 = new American("rose",20);
p2.intro();
p2.eating();
}
}

抽象类、final关键字。

标签:bst   static   chinese   美国   extend   tin   赋值   []   out   

原文地址:http://www.cnblogs.com/benpaozhimeng/p/6979643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!