JAVA简明摘要(七)对象村的优质生活(继承与多态)

1 继承

public class Doctor
{
  boolean worksAtHospital;
  void treatPatient()
  {}
}

public class FamilyDoctor extends Doctor
{
  boolean makeHouseCalls;
  void giveAdvice()
  {}
}

2 继承层次的设计

1.找出具有共同属性和行为的对象
2.用继承来防止子类中重复的程序代码
3.决定子类是否需要让某项行为具有不同的方式
4.通过寻找使用共同行为的子类来找出更多抽象化的机会
5.完成类的继承层次

3 引用父类

public void roam()
{
  super.roam();
}

4 继承范围

(简单理解)
public会被继承
private不会被继承
(深入理解)
父类的变量和方法全部被子类继承(拥有),但是其中私有方法和变量不被子类看见(无权访问),所以导致子类直接调用不了继承过来的父类的私有变量和方法。那么,怎么访问呢?子类找到父类中能够访问该私有变量和方法的公共方法就可以。

public class Test {
 
	public static void main(String[] args) {
		
		Son s1 = new Son();//创建一个子类对象
		
		System.out.println("子类的name = "+s1.getName()); // 第一次获取子类的name
		System.out.println("-----------------"); 
		
		s1.setName("小强");
		
		System.out.println("子类的name = "+s1.getName()); // 第二次获取子类的name
	}
 
}
 
class Father {
 
	private String name = "父类";
 
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
}
 
class Son extends Father {
	
}

5 多态

1.运用多态时,引用类型可以是实际对象类型的父类。

Animal myDog = new Dog()

2.参数和返回类型也可以多态。

6 防止继承

1.存取控制。非公有的类只能被同一个包的类继承。
2.使用final修饰符。表明其为继承树末端,不能被继承。final也可以修饰方法。
3.让类只拥有private的构造程序。

7 覆盖的规则

1.参数必须要一样,且返回类型必须兼容。(返回类型可以是父类返回类型的子类)
2.不能降低方法的存取权限。

8 方法的重载

1.返回类型可以不同。
2.使用不同的参数。
3.可以任意更改存取权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值