北京网站开发工程师招聘网网站设计制作有哪些原因
北京网站开发工程师招聘网,网站设计制作有哪些原因,茂名仿站定制模板建站,抖音关键词优化排名day14
一、继承
概念 Java中的继承是一个对象获取父对象的所有属性和行为的机制 理解#xff1a;继承是指一个类(子类)可以继承另一个类(父类)的属性和方法 关键字extends 优点#xff1a;减少代码的冗余 缺点#xff1a;继承会增加类与类之间的关系#xff0c;会增加代码…day14
一、继承
概念 Java中的继承是一个对象获取父对象的所有属性和行为的机制 理解继承是指一个类(子类)可以继承另一个类(父类)的属性和方法 关键字extends 优点减少代码的冗余 缺点继承会增加类与类之间的关系会增加代码的维护难度 继承的使用 使用场景多个类似的类有相同的属性和方法就可以把相同属性和方法抽取到父类 需求编写中国人和日本人的类创建各自的对象 分析 人类 属性姓名、性别、年龄 方法吃饭饭、睡觉觉 中国人的类 继承 人类 属性身份证 方法打太极 日本人的类 继承 人类 属性年号 方法拍电影 ps省略部分代码 public class Person {String name;
char sex;
int age;public void eat(){System.out.println(this.name 吃饭饭);
}public void sleep(){System.out.println(this.name 睡觉觉);
}}// 子类 继承 父类
public class Chinese extends Person{String id;public void playTaiJi(){System.out.println(中国人打太极);
}}//创建对象Chinese c new Chinese();//操作父类属性c.name 奇男子;c.sex 男;c.age 22;System.out.println(c.name);System.out.println(c.sex);System.out.println(c.age);//操作子类属性c.id 1234567890;System.out.println(c.id);//调用父类方法c.eat();c.sleep();//调用子类方法c.playTaiJi();继承内存图 super
理解 super表示父类 作用 1.super.属性在子类中调用父类的非私有化的成员属性 2.super.方法在子类中调用父类的非私有化的成员方法 3.super()在子类构造方法中的第一句调用父类的非私有化的构造方法 案例 继承的使用的需求案例 封装父类添加无参构造、有参构造、get、set方法(都由eclipse直接生成)成员方法保留 经验 私有化属性eclipse工具栏 -------Source-------Select getters and setters to create—勾选需要生成属性的get和set方法 Source中还有一些自动生成如构造方法等等 子类继承父类封装子类super使用 public class Chinese extends Person{private String id;public Chinese() {
}public Chinese(String name, char sex, int age, String id) {super(name, sex, age);this.id id;
}public String getId() {return id;
}public void setId(String id) {this.id id;
}public void playTaiJi(){System.out.println(super.getName() 打太极);
}}测试类有有参构造直接赋值不用一个个赋值 //创建对象Chinese c new Chinese(奇男子, 男, 22, 1234567890);//调用父类方法c.eat();c.sleep();//调用子类方法c.playTaiJi();小结 编写一个类的步骤 1.属性 2.私有化属性 3.无参构造 4.有参构造 5.get/set方法 6.其他的方法 深入继承
思考题 创建子类对象会不会调用父类构造方法 会 创建子类对象会不会创建父类对象 不会 创建子类对象为什么会调用父类构造方法 目的是将父类的属性存放在子类对象中(因为会在子类对象中开辟空间用于存储父类的成员属性) 创建子类对象先调用父类构造方法还是子类构造方法 先调用子类构造方法 创建子类对象先完成父类构造方法还是子类构造方法 先完成父类构造方法 子类可以继承父类私有化的属性和方法吗 可以但是只能间接调用 子类对象是否能继承父类所有的属性和方法 Java官网上明确表示子类不能继承父类私有化的属性和方法这是站在使用的角度 实际上子类能继承父类私有化的属性方法但是不能直接使用可以在父类中编写公有方法去调用私有的属性和方法 案例
public class Father {private String fatherAttr 父类私有化属性;public Father() {System.out.println(调用父类的构造方法);
}public String getFatherAttr() {return fatherAttr;
}public void setFatherAttr(String fatherAttr) {this.fatherAttr fatherAttr;
}private void method01(){System.out.println(父类私有化方法);
}public void method02(){method01();
}}public class Son extends Father{public Son() {//super();//默认实现调用父类的构造方法System.out.println(调用子类的构造方法);
}}public class Test01 {public static void main(String[] args) { Son son new Son();System.out.println(son.getFatherAttr());son.method02();
}}重写/复写
含义 重写也叫做复写将父类中方法在子类中重新编写一遍 应用场景 父类方法不满足子类需求时子类就可以重复父类的方法 条件 1.在子类中重写父类的方法 2.返回值、方法名、参数列表必须跟父类重写的方法一致 3.访问修饰符不能比父类更严格 需求 编写中国人和日本人的类创建各自的对象 public class Chinese extends Person{
//省略一部分//Override -- 重写的注解
//注解给程序员和系统解释代码信息
Override
public void eat(){System.out.println(super.getName() 吃山珍海味);
}
//在测试类new对象调用输出总结 1.继承的使用 2.继承的深入 — 重要 3.super 4.重写
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92366.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!