JAVA学习【知】继承
来源:互联网 发布:淘宝刷单清洗 编辑:程序博客网 时间:2024/04/29 21:45
继承的定义
1.JAVA中是有extends关键字实现类的继承机制
2.通过继承,子类自动拥有基类的所有成员(成员变量和方法)
3JAVA支持单继承,不允许多继承。
4.一个子类只能拥有一个基类,一个基类能派生出多个子类(这就相当于我们现实生活中,一个孩子只有一父亲,但一个父亲可能养着一群孩子)。
我们用一个例子来论证以上的定义:
- class Animal{
- String name;
- public void setname(String name){ //设置父类名字
- this.name=name;
- }
- public String getname(){
- return name; //返回名字
- }
- }
- class Dog extends Animal{ //继承Animal类
- int age;
- public void setage(int age){ //Dog类自己的方法
- this.age=age;
- }
- public int getage(){
- return age; //返回DOG的年龄
- }
- }
- public class TestExtends {
- public static void main(String[] args) {
- Animal a= new Animal();
- Dog d = new Dog();
- a.setname(" Animal name");
- d.setage(5);
- d.setname("dogname");
- System.out.println("name:"+a.getname());
- System.out.println("Dog's name:"+d.getname()); //dog所继承的
- System.out.println("Dog's age:"+d.getage());
- }
- }
- //由于Dog类继承了父类 所以就继承了父类的方法不必再子类定义,而本身独有的方法是父类不可调用的。
现在我们来看下继承中的构造方法
定义:
1.子类的构造的过程必须调用其基类的构造方法。
2.子类可以在自己的构造方法中使用super(参数列表)调用基本的构造方法。
3.如果调用super,必须写在第一行。
4.如果子类的构造方法中没有显示地调用其基类的构造方法则系统默认调用基类无参数的构造方法。
4.如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。
继承的好处:
可以享有父类的方法,得到自己想要的东西,不必再次定义。程序变的更加灵活。
- 举例:
- class Dog {
- String name;
- Dog(){
- System.out.println("i am Dog");
- }
- Dog(String name){
- System.out.println("DOG's name:"+name);
- }
- }
- class Cat extends Dog{
- Cat(){
- super(); //调用父类构造方法,也可省略,则默认为空的构造方法
- System.out.println("I am Cat");
- }
- Cat(String name)
- { //此处没显示调用父类构造方法,所以默认为空的构造方法
- System.out.println("Cat'sname:"+name);
- }
- }
- public class TestSuper {
- public static void main(String[] args) {
- Dog d = new Dog();
- new Dog("dogname");
- Cat c = new Cat();
- new Cat("MIMI");
- }
- }
- i am Dog //父类 无参构造方法返回值
- DOG's name:dogname //有参构造方法返回值
- i am Dog //继承的子类调用的父类构造方法返回的值
- I am Cat //子类构造方法返回值
- i am Dog //继承的子类调用的父类构造方法返回的值
- Cat'sname:MIMI //子类构造方法返回值
- 通过对继承的学习能让我们增加程序灵活性,更加方便,对以后学习多态也起着重要的作用。
- JAVA学习【知】继承
- JAVA 继承学习笔记
- java学习之继承
- java 继承-学习笔记
- Java 继承学习资料
- Java继承学习笔记
- JAVA学习十:继承
- JAVA学习笔记----继承
- Java语言学习-继承
- JAVA学习笔记-继承
- java学习之--继承
- JAVA学习笔记-继承
- java学习之继承
- java学习-继承
- Java学习之继承
- Java继承学习小结
- Java学习笔记----继承
- java学习4-继承
- 我的Eclipse中的快捷键
- 1
- 不用循环如何输出1~100
- sys密码丢失的解决办法
- JSP中include指令和include行为区别
- JAVA学习【知】继承
- where后面的语句的顺序是否会影响检索效率?
- 挂钩技术学习笔记
- 不借助第三方变量,将x,y两个变量的值互换
- 请帮忙解答java笔试题的结果为什么是如下那样?
- 今天电话面试的一题,关于数据库查询优化的
- JAVA面试
- Java面试题
- rootkit for linux 10.小结