Java day4【第十三章】覆写

十三.覆写:

1.方法覆写:

(1)子类继承父类,但也可能出现不合适

  子类发现父类设计不足并且需要保留父类中的方法的属性和名称,此时就要进行方法覆写。

  方法覆写:跟父类方法一样

eg:观察方法覆写:

class Channel
{
	public void connect(){
		System.out.println("[Chnanel父类]进行资源的连接");
	}
}
class DatebaseChannel extends Channel
{
	public void connect(){
		System.out.println("[子类]进行数据库资源的连接");
	}
}

public class stringdem{
	public static void main(String args[]) {
		DatabaseChannel channel = new DatabaseChannel();
		channel.connect();
	}
}

(2)覆写意义:

(3)如果子类已经覆盖,要调用父类中的方法,使用super.方法

class Channel
{
	public void connect(){
		System.out.pringln("[Channel]资源链接");
	}
}

class DatebaseChannel extends Channel
{
	public void connect(){
		super.connect();
		System.out.println("[子类]进行数据库资源的连接");
	}
}

public class Stringdemo{
	public static void main(String args[]) {
		DatabaseChannel channel = new DatabaseChannel();
		channel.connect();
	}
}

2.方法覆写的限制:

(1)被覆写的方法不能有比父类方法更为严格的访问控制权限:

  public>default(不写)>private

private除了可以定义属性,也可以定义在方法上:

  private类不可见,所以不牵扯覆写

  在以后的实际开发中只要是定义方法,百分之九十五都是用public

(3)属性覆盖:

  子类定义了与父类相同名称的成员。

(4)final关键字:

  final在程序中表示终接器

  final:不能被继承的类

     不能被覆写的方法

     常量

  eg:不能被继承的类:

  

final class Channel(){}

  eg:不能被覆写的方法:

public final void fun(){}

  重点!!!!

  定义常量不可修改:

private final int ON = 1;    //用1表示开关打开
private final int OFF = 0;   //用0表示开关闭合

  以上ON,OFF均不可以被修改。

猜你喜欢

转载自www.cnblogs.com/xiwenxinaini/p/11689592.html