首页 > 编程语言 > 详细

关于java继承的一些思考

时间:2015-06-07 02:06:47      阅读:247      评论:0      收藏:0      [点我收藏+]

关于java继承的一些思考:

作为一门面向对象的编程语言,java自然有着继承这个概念。
一个类可以通过关键字extends继承另一个类的属性和方法。而被继承的类被称为父类,继承的类被称为子类。
子类可以隐式地拥有父类的所有的public成员,只要是父类public的属性或是方法,子类都会拥有。
但是子类也可以继续拓展定义自己特有的属性和方法。

例如,
public class father{
?public int a=1;
?public int b=2;
?public void display(){
?system.out.println("a="+a+",b="+b);
}
}
public class son extends father{
?public int sum;
?public void prt(){
?sum=this.a+this.b;
?this.display();
?system.out.println("sum=a+b="+sum);
}
}

son类继承了father类,所以它可以使用父类中所含有的属性和方法。
其效果相当于在继承的过程中,java给son类添加了father类的属性和方法,只是这些代码是隐式的,我们看不见,但它们是真实存在的。

值得注意的是,java为了保证java程序的安全性,只支持类的单继承。
所以这样的代码是不合法的:
public class son extends JFrame,JPanel{

}
son类继承了JFrame和JPanel两个类,所以程序会报错。
由于java只支持单继承,所子类与父类直接的继承关系显得十分清晰,这使得一代代的继承关系更容易被理清楚,减少程序的隐患。

虽然java仅仅只支持单继承,但它也支持多个接口的实现,相当于变相地支持多重继承。
例如,
public class listener implements ActionListener,MouseListener,MouseMotionListener{

}
这样就同时实现了ActionListener,MouseListener,MouseMotionListener三个接口。
但是实现接口可不是像继承那样用关键字写一下名称就行了。
要实现接口,就必须重写接口的所有方法。
例如,
public class listener implements ActionListener{
public void actionPerformed(ActionEvent e) {
?
}
如果你使用关键字实现接口,但是没有将该接口的方法都重写的话,程序将会报错。

关于java继承的一些思考

原文:http://dukeseraph.iteye.com/blog/2217563

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!