写点什么

继承的基本使用

用户头像
Android架构
关注
发布于: 10 小时前

return age;


}


public void setAge(int age) {


this.age = age;


}


public void say(){


System.out.println("我是一个动物,我叫:"+this.getName()+",我的年龄是:"+this.getAge());


}


}


这里定义一个 Animal 类和两个私有属性 name 和 age 然后给出共有的 set get 接口 以及一个共有的 say()方法;


public class Dog extends Animal {


/定义 Dog 类继承 Aniaml/


public static void main(String[] args) {


Dog dog = new Dog();


dog.setName("旺财");


dog.setAge(3);


dog.say();


}


}


我们再定义一个 Dog 类 通过 extends 关键字 继承 Animal 类;


我们实际上把父类 Animal 的共有方法 get set 以及 say()方法都继承了;


//output:


我是一个动物,我叫:旺财,我的年龄是:3


2,方法重写




方法的重写就是我们可以在子类中根据实际情况把父类的方法重写;要注意的是修改方法的修饰权限只能由大范围到小范围改变,比如父类中的权限为 protected,继承后子类的方法权限只能改为 public。


上代码:


/定义 Cat 类继承 Animal/


public class Cat extends Animal {


/重写父类 say 方法/


public void say(){


System.out.println("我是一只猫,我叫:"+this.getName()+",我的年龄是:"+this.getAge());


}


public static void main(String[] args) {


Cat cat = new Cat();


cat.getName();


cat.getAge();


cat.say();


}


}


上面我们重写父类的 say 方法,改成是猫,以及用 getName 和 getAge,因为当前对象里继承不到父类的私有字段;


//output:


我是一只猫,我叫:小白,我的年龄是:1


我们发现,虽然继承了父类 say 方法,但最后输出的却是重写后方法内的操作。这就是方法重写的精髓所在。


3,对象实例过程以及 super 关键字




对象实例化 先实例化调用父类构造方法,再调用子类实例化构造方法;


super 关键主要是调用父类方法或者属性;


我们修改下上面的例子:


public class Animal {


private String name;


private int age;


/定义无参构造方法/


public Animal(){


System.out.println("无参父类构造方法");


}


/*定义有参构造方法


  • name

  • age

  • */


public Animal(String name,int age) {


System.out.println("有参父类构造方法");


this.name=name;


this.age =age;


}


public String getName() {


return name;


}


public void setName(String name) {


this.name = name;


}


public int getAge() {


return age;


}


public void setAge(int age) {


this.age = age;


}


public void say(){


System.out.println("我是一个动物,我叫:"+this.getName()+",我的年龄是:"+this.getAge());


}


}


/定义 Cat 类继承 Animal/


public class Cat extends Animal {


private String address;


public String getAddress() {


return address;


}


p


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


ublic void setAddress(String address) {


this.address = address;


}

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
继承的基本使用