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

建筑图纸seo在线教学

建筑图纸,seo在线教学,sina app engine wordpress,游戏钓鱼网站怎么做文章目录1. 继承概述2. 变量的访问特点3. super 关键字4. 构造方法的访问特点5. 成员方法的访问特点6. 方法重写7. 继承案例1. 继承概述 继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。 publ…

文章目录

    • 1. 继承概述
    • 2. 变量的访问特点
    • 3. super 关键字
    • 4. 构造方法的访问特点
    • 5. 成员方法的访问特点
    • 6. 方法重写
    • 7. 继承案例

1. 继承概述

继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。

public class 子类名 extends 父类名 {}

继承中子类的特点:
① 子类可以有父类的内容;
② 子类还可以有自己特有的内容。

父类也被称为基类或超类,子类也被称为派生类。

//Father.javapackage com.zxe;public class Father {public void show() {System.out.println("show方法被调用了!");}
}
//Son.javapackage com.zxe;public class Son extends Father {public void method() {System.out.println("method方法被调用了!");}
}
//Test.javapackage com.zxe;public class Test {public static void main(String[] args) {Son son = new Son();son.method();son.show();}
}

在这里插入图片描述

(1)继承的好处和弊端:
① 好处,提高了代码的复用性和维护性;
② 弊端,继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。
(2)什么时候使用继承?
假设我有两个类 A 和 B,如果它们之间满足 A 是 B 的一种,或者 B 是 A 的一种,就说明它们存在继承关系,这个时候就可以考虑使用继承来体现,否则就不能滥用继承。(比如,苹果和水果,猫和动物,它们之间就存在着继承关系)

Java 中只支持单继承不支持多继承,也就是说一个类不能同时继承多个类,但 Java 支持多层继承,比如儿子继承父亲,父亲又继承爷爷,那么儿子也继承爷爷!

2. 变量的访问特点

在子类方法中访问一个变量,先在子类局部范围找,找不到再去子类成员范围找,还找不到就去父类成员范围找,如果父类成员范围中依然找不到,程序就会报错。(不考虑父亲的父亲)

//Father.javapackage com.zxe;public class Father {int age = 20;
}
//Son.javapackage com.zxe;public class Son extends Father {int age = 30;public void method() {int age = 40;System.out.println(age);}
}

这里的输出结果就是40。

3. super 关键字

根据上面的变量访问特点,我们知道案例最终的输出结果在子类的局部范围中,如果我们现在想要得到的是 age = 30 呢?访问子类成员变量用 this.age 即可,那么在子类中访问父类的成员变量就使用 super.age,即 age = 20。

4. 构造方法的访问特点

子类中所有的构造方法默认都会访问父类中无参的构造方法。 因为子类会继承父类中的数据,可能还会使用父类的数据,所以子类在初始化之前,一定要先完成父类数据的初始化,每个子类构造方法的第一条语句默认都是 super()。

如果父类中没有无参构造方法,只有带参构造方法时,该怎么办呢?
① 通过使用 super 关键字去调用父类的带参构造方法,super(12);
② 在父类中手动提供一个无参构造方法,推荐使用。

5. 成员方法的访问特点

通过子类对象访问一个方法,先到子类成员范围找,再到父类成员范围找,如果都没有就报错,同样不考虑父亲的父亲。
当父类和子类中的方法同名时,那么程序访问的是子类中的方法,如果想要访问父类中的同名方法,可以使用 super 关键字,super.show()。

6. 方法重写

方法重写:子类中出现了和父类中一模一样的方法声明。
当子类需要父类的功能,而功能主体子类有自己的特有内容时,可以重写父类中的方法,这样,既沿袭了父类的功能,又定义了子类特有的内容。

//Phone.javapackage com.zxe;public class Phone {public void call(String name) {System.out.println("给" + name + "打电话!");}
}
//NewPhone.javapackage com.zxe;public class NewPhone extends Phone {@Overridepublic void call(String name) {System.out.println("开启视频功能!");super.call(name);}
}
//PhoneDemo.javapackage com.zxe;public class PhoneDemo {public static void main(String[] args) {NewPhone p = new NewPhone();p.call("张三");}
}

在重写方法之前加上 @Override 注解,可以帮助我们检验重写方法的声明是否正确,不正确就会报错!

注意事项:
① 私有方法不能被重写(父类私有成员子类是不能继承的);
② 子类方法的访问权限要比父类高(public > 默认 > 私有)。

7. 继承案例

需求:定义老师类和学生类,然后写代码测试,最后找到老师类和学生类当中的共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试。
思路:
① 定义老师类,姓名,年龄,教书();
② 定义学生类,姓名,年龄,学习();
③ 定义测试类;
④ 共性抽取父类,定义人类,姓名,年龄;
⑤ 老师类继承人类,并给出自己特有的方法,教书();
⑥ 学生类继承人类,并给出自己特有的方法,学习()。

这里普及一下快速补全代码按键:
① psvm,快速生成测试类的 main 方法;
② Alt + Insert,快速补全构造方法及 Get / Set 方法,Constructor 里面 Ctr + A 全选即有参构造,点击下面的 Select None 即无参构造,Getter and Setter 里面全选中即可自动补全 Get / Set 方法。

在这里插入图片描述
在这里插入图片描述

//Person.javapackage com.zxe;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {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;}
}
//Student.javapackage com.zxe;public class Student extends Person {public Student() {}public Student(String name, int age) {super(name, age);}public void study() {System.out.println("我爱学习!");}}
//Teacher.javapackage com.zxe;public class Teacher extends Person {public Teacher() {}public Teacher(String name, int age) {super(name, age);}public void teach() {System.out.println("我爱教书!");}
}
//Test.javapackage com.zxe;public class Test {public static void main(String[] args) {Student s = new Student("张三", 14);System.out.println(s.getName() + s.getAge());s.study();Teacher t = new Teacher("王四", 36);System.out.println(t.getName() + t.getAge());t.teach();}
}

也可用 set 方法给对象赋值,有参构造时由于 Person 设置了访问权限,子类无法继承到父类的变量,所以我们通过 super(name, age) 的方法来注入对象的属性值。

http://www.hkea.cn/news/430267/

相关文章:

  • 前端自己写代码建网站要花多少钱游戏推广在哪里接活
  • 网站建设中+网页代码nba最新排名东西部
  • 东莞企业建设网站官网有限公司百度推广深圳分公司
  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件
  • 网站常用素材企业培训视频
  • 北京市通州区建设委员会网站网站新站整站排名
  • 太原网站推广只选中联传媒推广排名seo
  • 企业网站建设的常见流程为百度互联网营销顾问
  • 养殖企业网站网络营销策划名词解释
  • 如何进行电子商务网站推广?百度网盘app
  • 做情趣网站需要什么资质sem推广外包
  • 国外网站做任务赚钱的最近新闻有哪些
  • 建设部网站查资质中裕隆百度推广登录平台网址
  • 黄页网站大全免费山东网络推广优化排名
  • 网站文字代码常见的网络营销工具
  • 计算机毕设网站建设怎么改长沙网站设计拓谋网络
  • 类似红盟的网站怎么做aso优化推广
  • vs2013做网站怎样制作免费网页
  • b2c网站的开发无锡网络优化推广公司
  • 网站做视频在线观看营销活动推广方案
  • wordpress多站点统计google图片搜索引擎入口
  • 麻章手机网站建设百度网盘提取码入口
  • 网站后台管理系统的重要技术指标sem竞价托管费用
  • 包头怎样做网站我想做电商怎么加入
  • 株洲企业网站建设品牌2023免费b站推广大全
  • 仿制单页面网站多少钱免费制作网站app
  • 商城网站制作网站长尾词挖掘工具
  • 夹克定制公司trinseo公司