Java面向对象之继承
2019-05-18 07:08:09来源:博客园 阅读 ()
一、继承;
1、继承的含义:
继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。
(子类会自动拥有父类所有可继承的属性和方法)
2、继承的格式:
class 子类 extends 父类 {}
/*
* 定义员工类Employee
*/
class Employee {
String name; // 定义name属性
// 定义员工的工作方法
public void work() {
System.out.println("尽心尽力地工作");
}
}
/*
* 定义研发部员工类Developer 继承 员工类Employee
*/
class Developer extends Employee {
// 定义一个打印name的方法
public void printName() {
System.out.println("name=" + name);
}
}
/*
* 定义测试类
*/
public class Example01 {
public static void main(String[] args) {
Developer d = new Developer(); // 创建一个研发部员工类对象
d.name = "小明"; // 为该员工类的name属性进行赋值
d.printName(); // 调用该员工的printName()方法
d.work(); // 调用Developer类继承来的work()方法
}
}
3、继承的好处及注意事项:
①、继承的出现提高了代码的复用性,提高软件开发效率。
②、继承的出现让类与类之间产生了关系,提供了多态的前提。
③、在JAVA中,类只支持单继承(只能一个亲爹),一个父类可以多个子类(多个儿子);
4、继承-子父类中成员变量的特点:
继承中子父类有同名变量时,如果子类直接有用自己的,没有就用父类的。
在子类中,访问父类中的成员变量格式:
super.父类中的成员变量
(只能在子类中使用,THIS也一样,只能在子类中使用,不能再测试类中使用。)
5、继承-子父类中成员方法的特点-重写:
①、 子类中出现与父类一模一样(方法名、返回值类型、参数列表都相同)的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。
②、在子类中,访问父类中的成员方法格式:
super.父类中的成员方法();
③、注意事项:
子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
(public > protected > default > private)
二、抽象类:
1、含义:
方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。次方法所在的类就是抽象类。
2、抽象类及抽象方法的定义:
abstract class 类名 {
}
public abstract 返回值类型 方法名(参数);
3、特点:
①、抽象类和抽象方法都是需要abstract 修饰的;
②、抽象方法所在的类一定是抽象类;
③、抽象类里面可以不写抽象方法(抽象方法可以先定义上方法声明,不写具体的方法体),可以写普通方法;
public abstract class Huge {
public abstract double getArea();//抽象方法
public void show(){ //普通方法
System.out.println("这是一个图形");
}
}
④、抽象类内不可以直接创建对象,其普通方法可以通过子类进行调用;
⑤、抽象类一定是个父类;
⑥、因为抽象类是子类的父类,是将其共同的方法抽取出来的。所以只有覆盖了抽象类中的所有的抽象方法后,子类才能创建对象。否则子类还是个抽象类。
⑦、抽象关键字abstract 不可以和 private 共存:
(private:私有的方法子类是无法继承到的,也不存在覆盖)
原文链接:https://www.cnblogs.com/21-forever/p/10882378.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash