码迷,mamicode.com
首页 > 编程语言 > 详细

Java—继承

时间:2015-01-04 22:59:25      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

继承的特点:
1.提高了代码的复用性。
2、让类与类之间发生了关系,有了这个关系,才有了多态的特性。

注意:千万不要为了获取其他类的功能,简化代码而继承;必须是类与类之间有所属关系才可以继承,所属关系 is a。)

子父类出现后,类成员的特点:
1、变量;2、函数;3、构造函数。

举例:变量(此函数打印出来的结果是5....4 )

class Fu{
int num1=5;
 }
class Zi extends Fu{
int num2=4;
}
class StudentDemo2{
public static void main(String[] args) {
 Zi z=new Zi();{
System.out.println(z.num1+"...."+z.num2);
       }
   }
}

 

举例:函数(此函数的运行结果是zi show    java)

当子类出现和父类一模一样的函数时;子类对象调用该函数,会运行子类函数的内容;如同父类的函数被覆盖一样,这种情况是函数的其中一个特性:覆盖(重写)

当子类继承父类,沿袭了父类的功能到子类中,但是子类虽具备该功能,但是功能的内容却和父类不一致时;没有必要定义新功能,而是使用覆盖特性,保留父类的功能定义,并重写功能内容。

class Fu{
void show(){
System.out.println("fu show");
}
void speak(){
System.out.println("vb");
}
}
class Zi extends Fu{

void show(){     
System.out.println("zi show");
}
void speak(){
System.out.println("java");
}
}
class StudentDemo2{

public static void main(String[] args){

Zi z=new Zi();
z.show();
z.speak();
}
}

举例:构造函数(此函数运行的结果是:haha  lala)

结论:
子类的所有的构造函数,默认都会访问父类中空参数的构造函数,因为子类每一个构造函数内的第一行都有一句隐式super()。

当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数。

class Fu{
Fu(){
System.out.println("haha");
     }
}
class Zi extends Fu{
Zi(){

//这里有一个隐藏的的语句:super();默认要先访问父类中空参数的构造函数。
System.out.println("lala");
     }
}
class StudentDemo3{
public static void main(String[] args){
Zi z=new Zi();
                }
}

 

Java—继承

标签:

原文地址:http://www.cnblogs.com/shijiayi/p/4202370.html

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