当前位置: 首页 > news >正文

哪有做网站的公司做网上商城网站

哪有做网站的公司,做网上商城网站,零基础网络工程师培训,东莞搜索seo网站关键词优化Day14 1.继承的使用 理解#xff1a;子类继承父类所有的属性和方法 使用场景#xff1a;多个类似的类#xff0c;有相同的属性和方法#xff0c;就可以把相同属性和方法抽取到父类 优点#xff1a;减少代码的冗余#xff1b; 使类与类之间产生了关系(多态的前提) 缺点子类继承父类所有的属性和方法 使用场景多个类似的类有相同的属性和方法就可以把相同属性和方法抽取到父类 优点减少代码的冗余 使类与类之间产生了关系(多态的前提) 缺点继承会增加类与类之间的关系会增加代码的维护难度 需求编写中国人和日本人的类创建各自的对象 分析 人类属性姓名、性别、年龄方法吃饭饭、睡觉觉中国人的类 继承 人类 属性身份证方法打太极日本人的类 继承 人类属性年号​ 方法拍电影 //父类 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(中国人打太极);} }// 子类 继承 父类 public class Japanese extends Person{String yearNum;public void playVideo(){System.out.println(日本人拍电影);} }//测试类 public class Test01 {public static void main(String[] args) {//创建对象Chinese c new Chinese();//操作父类属性c.name 小彭;c.sex 男;c.age 21;//操作子类属性c.id 1234567890;//调用父类方法c.eat();c.sleep();//调用子类方法c.playTaiJi();System.out.println(-----------------------------);//创建对象Japanese j new Japanese();//操作父类属性j.name 波多野结衣;j.sex 女;j.age 18;//操作子类属性j.yearNum 令和;//调用父类方法j.eat();j.sleep();//调用子类方法j.playVideo();} }继承内存图 父类空间优先于子类对象产生 在每次创建子类对象时先初始化父类空间再创建其子类对象本身。目的在于子类对象中包含了其对应的父类空间便可以包含其父类的成员如果父类成员非private修饰则子类可以随意使用父类成员。代码体现在子类的构造方法调用时一定先调用父类的构造方法 小结 1.继承实际上是子类相同的属性和行为可以定义在父类中子类特有的属性和行为由自己定义这样就实现了相同属性和行为的重复利用从而提高了代码复用。 2.继承是在多个类中之间的使用关键字extends在父类的非私有属性和方法可以被子类继承 3.java是单继承的 2.继承的深入 面试题 1.创建子类对象会调用父类的构造方法吗 会 2.创建子类对象为什么会调用父类构造方法 因为会在子类对象中开辟空间用于存储父类的成员属性 3.创建子类对象先调用父类构造方法还是子类构造方法 先调用子类的构造方法 4.创建子类对象先完成父类构造方法还是子类构造方法 先完成父类的构造方法 5.子类对象是否能继承父类所有的属性和方法 Java官网上明确表示子类不能继承父类私有化的属性和方法这是站在使用的角度 实际上子类能继承父类私有化的属性方法但是不能直接使用可以在父类中编写公有方法去调用私有的属性和方法 *值得注意的是子类可以继承父类的私有成员成员变量方法只是子类无法直接访问而已可以通过在父类中设置get/set方法访问父类的private成员变量。* 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();} }3.super 理解super表示父类 super代表的是父类对象的引用this代表的是当前对象的引用。* 作用 1.super.属性在子类中调用父类的非私有化的成员属性不常用因为属性已经私有化了 2.super.方法在子类中调用父类的非私有化的成员方法 3.super()在子类构造方法中的第一句调用父类的非私有化的构造方法 需求编写中国人和日本人的类创建各自的对象 public class Person {private String name;public Person() {}public Person(String name) {this.name name;}public String getName() {return name;}public void setName(String name) {this.name name;}public void eat(){System.out.println(this.name 吃饭饭);//name这个属性是本类的所以使用this而不是super} }public class Chinese extends Person{private String id;public Chinese() {}public Chinese(String name,String id) {super(name);//子类中把父类的成员变量一起有参构造出来方便使用this.id id;}public String getId() {return id;}public void setId(String id) {this.id id;}public void playTaiJi(){System.out.println(super.getName() 打太极);//super.属性用的是分类的成员变量子类中没有名字这个属性} }public class Japanese extends Person{private String yearNum;public Japanese() {}public Japanese(String name,String yearNum) {super(name);this.yearNum yearNum;}public String getYearNum() {return yearNum;}public void setYearNum(String yearNum) {this.yearNum yearNum;}public void playVideo(){System.out.println(super.getName() 拍电影);//super.属性用的是分类的成员变量子类中没有名字这个属性} }public class Test01 {public static void main(String[] args) {//创建对象Chinese c new Chinese(小彭, 1234567890);//调用父类方法c.eat();//调用子类方法c.playTaiJi();System.out.println(-----------------------------);//创建对象Japanese j new Japanese(波多野结衣, 令和);//调用父类方法j.eat();//调用子类方法j.playVideo();} }小结 - 编写一个类的步骤 1.属性 2.私有化属性 3.无参构造 4.有参构造 5.get/set方法 6.其他的方法 3.1 继承后的特点——构造方法 构造方法的名字是与类名一致的。 构造方法的作用是初始化对象成员变量数据的。所以子类的初始化过程中必须先执行父类的初始化动作。子类的构造方法中默认有一个super() 表示调用父类的构造方法父类成员变量初始化后才可以给子类使用。*先有爸爸才能有儿子* *继承后子类构方法器特点:子类所有构造方法的第一行都会默认先调用父类的无参构造方法***** 子类构造方法的第一行都隐含了一个super()调用父类无参数构造方法super()可以省略不写。 3.2 super和this的用法格式 this.成员变量 – 本类的 this.成员方法名() – 本类的 super.成员变量 – 父类的 super.成员方法名() – 父类的 接下来我们使用调用构造方法格式 this(…) – 调用本类的其他构造方法根据参数匹配确认 super(…) – 调用父类的构造方法根据参数匹配确认 注意 *子类的每个构造方法中均有默认的super()调用父类的空参构造。手动调用父类构造会覆盖默认的super()。* *super() 和 this() 都必须是在构造方法的第一行所以不能同时出现。* 4.重写/复写 理解在子类中将父类的方法重新写一遍 子类中出现与父类一模一样的方法时返回值类型方法名和参数列表都相同会出现覆盖效果也称为重写或者复写。*声明不变重新实现* 应用场景父类方法不能被改动时在子类中重新写一遍 条件 1.在子类中重写父类的方法 2.返回值、方法名、参数列表必须跟父类重写的方法一致 3.访问修饰符不能比父类更严格 面试题重写(overriding)与重载(overloading)的区别 重写是发生在子父类继承关系中方法名相同参数列表相同返回值相同子类访问修饰符要大于等于父类的修饰符子类的异常声明必须小于等于父类的异常声明 方法重载发生在同一个类中,方法名相同参数列表不同返回值无关。 需求编写中国人和日本人的类创建各自的对象 public class Test01 { public static void main(String[] args) {//创建对象Chinese c new Chinese(小彭, 1234567890);c.eat();//调用子类重写后的方法System.out.println(-----------------------------);//创建对象Japanese j new Japanese(波多野结衣,令和);j.eat();//调用子类重写后的方法} }public class Person {private String name;public Person() {}public Person(String name) {this.name name;}public String getName() {return name;}public void setName(String name) {this.name name;}public void eat(){System.out.println(this.name 吃饭饭);} }public class Chinese extends Person{private String id;public Chinese() {}public Chinese(String name, String id) {super(name);this.id id;}public String getId() {return id;}public void setId(String id) {this.id id;}//Override -- 重写的注解//注解给程序员和系统解释代码信息Overridepublic void eat(){System.out.println(super.getName() 吃山珍海味);} }public class Japanese extends Person{private String yearNum;public Japanese() {}public Japanese(String name,String yearNum) {super(name);this.yearNum yearNum;}public String getYearNum() {return yearNum;}public void setYearNum(String yearNum) {this.yearNum yearNum;}Overridepublic void eat() {System.out.println(super.getName() 吃生鱼片);} }4.1 Override重写注解 Override:注解重写注解校验 这个注解标记的方法就说明这个方法必须是重写父类的方法否则编译阶段报错。 建议重写都加上这个注解一方面可以提高代码的可读性一方面可以防止重写出错 4.2 注意事项 1.方法重写是发生在子父类之间的关系。 2.子类方法覆盖父类方法必须要保证权限大于等于父类权限。 3.子类方法覆盖父类方法返回值类型、函数名和参数列表都要一模一样。 4.父类中的方法使用privatestaticfinal任意修饰符那么不能被子类重写。 5.总结 1.继承的使用 2.继承的深入 — 重要 3.super 4.重写
http://www.hkea.cn/news/14292696/

相关文章:

  • 外贸网站支付系统网站 权限
  • 南通通州建设工程质量监督网站高端家具东莞网站建设技术支持
  • 网站pr怎么提升游戏推广平台代理加盟
  • 松江叶榭网站建设拓者设计吧电脑版
  • wordpress能开发商城网站吗咸阳建设局网站
  • 建设工程招聘网网站建设 优化
  • 广州市建设工程造价管理站新手建网站
  • 学生版 建设网站软件下载seo推广网站
  • 网站建设帖子商业软文怎么写
  • 网站建设 做一个网站需要多少钱网站域名自动跳转
  • 绍兴网站制作建设更改wordpress所有的链接
  • 不收费推广网站有哪些南京网站设计公司兴田德润可以不
  • 网站主流服务器语言荣成市建设局网站是什么
  • 制作外贸网站公关公司服务的特点包括
  • 以背景做网站视频为营销策划方案包括哪些内容
  • flash+xml网站模板陕西建设网官方网站
  • 山西手机版建站系统信息西安北郊网站开发
  • 网站建设续费催款通知书谁有免费网址发给我谢谢
  • wordpress 加ico贵阳seo网站建设
  • 网站建设公司华网天兰州迅豹网络
  • 建设银行广东分行网站玄圭做网站怎么样
  • 怎么删除ghost wordpress镇海阿里巴巴关键词优化
  • 茂名建站模板搭建现在用什么做网站
  • 做商城网站需要备案什么域名回收手表网站
  • 企业网站开发技术题库网站策划选题
  • 电子商务网站建设目标及利益分析兽装定制网站
  • 福州 网站备案衡水企业网站建设价格
  • wordpress网站缓存安装织梦cms是什么
  • 做快手网站怎么部署wordpress
  • 做网站哪家正规环保网站查询碾米是否做备案