浅谈Java面向对象三大特征--继承
2013-07-24 22:21
369 查看
Java面向对象的三大特征---继承
一:什么是继承? 继承就是在已经存在的类(父类)的基础上创建新类(子类)的过程,子类可以添加自己的新方法,也可以用父类的功能。
二:什么时候建立父子关系(继承)?
任何A出现的地方,换做B之后仍然成立,这是A和B之间可以建立继承关系。
三:继承来的东西?
a:私有的属性被隐藏,可以通过get、set方法来访问
b:构造方法不被继承
c:私有方法不被继承
d:继承一般属性及方法
四:在子类中使用和父类一样的属性名,没有任何意义,应尽量避免。
五:重载和重写的区别
1:重写(又叫覆写、覆盖)
a:发生在父子类中
b:同名同参同返回
c:子类方法的修饰符不能比父类方法的修饰符更封闭
d:子类抛出的异常不能比父类抛出的异常更宽泛
a:发生在同一个类中
b:同名不同参,返回类型没要求。这里的不同指的是参数的个数,顺序,类型的不同。
好困啊。。。先睡了哈
本文出自 “辛德瑞拉” 博客,请务必保留此出处http://cinderella7.blog.51cto.com/7607653/1256589
一:什么是继承? 继承就是在已经存在的类(父类)的基础上创建新类(子类)的过程,子类可以添加自己的新方法,也可以用父类的功能。
package LQQ; public class Test { public void method(){ System.out.println("我是父类"); } } class Sub extends Test{ @Override public void method() { // TODO Auto-generated method stub super.method();//继承了父类的方法 } public void method2(){ System.out.println("我是子类"); } }
二:什么时候建立父子关系(继承)?
任何A出现的地方,换做B之后仍然成立,这是A和B之间可以建立继承关系。
三:继承来的东西?
a:私有的属性被隐藏,可以通过get、set方法来访问
package LQQ; public class Test { private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } } class Sub extends Test { public static void main(String[] args) { Sub sub = new Sub(); sub.setAge(10);// 继承自父类可访问的一般属性及方法 System.out.println(sub.getAge());// 继承自父类可访问的一般属性及方法 } }
b:构造方法不被继承
package LQQ; public class Test { public Test(){ } } class Sub extends Test { public Test(){//有异常,因为无法继承父类的构造方法 } }
c:私有方法不被继承
package LQQ; public class Test { private void test(){ System.out.println("我是父类"); } } class Sub extends Test { public static void main(String[] args) { Sub sub=new Sub(); sub.test();//有异常,对父类私有方法不能继承 } }
d:继承一般属性及方法
package LQQ; public class Test { public int age; public void test(){ System.out.println("我是父类"); } } class Sub extends Test { public static void main(String[] args) { Sub sub=new Sub(); sub.age = 10;//对父类一般属性的继承 sub.test();//对父类一般方法的继承 } }
四:在子类中使用和父类一样的属性名,没有任何意义,应尽量避免。
五:重载和重写的区别
1:重写(又叫覆写、覆盖)
a:发生在父子类中
package LQQ; public class Test { public void test(){ System.out.println("我是父类"); } } class Sub extends Test { public void test(){ System.out.println("我是子类"); } }
b:同名同参同返回
package LQQ; public class Test { public int test(int a,int b){ return a+b; } } class Sub extends Test { public int test(int a,int b){ return a-b; } }
c:子类方法的修饰符不能比父类方法的修饰符更封闭
package LQQ; public class Test { public int test(int a,int b){ return a+b; } } class Sub extends Test { private int test(int a,int b){ //有异常,因为父类的同名方法是public,子类只能是比public不封闭的修饰符 return a-b; } }
d:子类抛出的异常不能比父类抛出的异常更宽泛
package LQQ; import java.io.FileNotFoundException; public class MyException { public void test() throws FileNotFoundException{ } } class Subb extends MyException{ public void test() throws Exception{ //有异常,子类最次也得是FileNotFoundException,而不能是比这个还宽泛的异常 } }2:重载
a:发生在同一个类中
package LQQ; public class Test { public int test(int a,int b){ return a+b; } public int test(int a){ return a; } }
b:同名不同参,返回类型没要求。这里的不同指的是参数的个数,顺序,类型的不同。
package LQQ; public class Test { public double test(double a,int b){ return a+b; } public double test(int a,double b){//顺序的不同 return a+b; } public int test(int a){//个数的不同 return a; } public String test(String a,String b){//类型的不同 return a.concat(b); } }
好困啊。。。先睡了哈
本文出自 “辛德瑞拉” 博客,请务必保留此出处http://cinderella7.blog.51cto.com/7607653/1256589
相关文章推荐
- java之面向对象三大特征(封装,继承,多态)
- JAVA菜鸟入门篇 - 面向对象三大特征之一:继承 ,方法重写(override)和Object类 (十四)
- java、面向对象的三大特征封装、继承、多态
- Java面向对象三大特征:封装、继承、多态
- Java程序设计7——面向对象三大特征:封装、继承、多态
- 面向对象三大特征之继承(extends)——Java笔记(六)
- Java 面向对象三大特征之一:继承
- Java 面向对象的三大特征:继承、封装【隐藏】、多态<为了适应需求的多种变化,使代码变得更加通用>
- 黑马程序员---java基础之面向对象(一)三大特征(封装,继承,多态)
- java面向对象的三大特征:封装-继承-多态
- java面向对象的三大特征:封装,继承,多态
- Java面向对象三大特征之继承
- java学习总结(16.06.10~16.06.17)面向对象的三大特征——封装、继承、多态
- Java面向对象的三大特征:封装、继承和多态的详解
- Java面向对象的三大基本特征:继承、封装与多态
- java面向对象的三大特征:封装,继承,多态
- [Java入门笔记] 面向对象三大特征之:继承
- 简述Java面向对象三大特征:封装、继承、多态
- java面向对象的三大基本特征之封装,继承,多态
- 浅谈Java面向对象三大特征--封装,多态