`
商山居士
  • 浏览: 8603 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java谜团之——[继承封装接口与多态]

 
阅读更多


 1:继承

 

   要了解继承必先要明白java中为什么有继承?继承到了什么?说简单点就是为了减少程序的重复或者继承的好处就是可以使代码重用,比如世界万物都有相似之处,若写程序每提到一个对象就重新写一段代码,那么一是效率不高,二是重复劳动,比如昨天刚写了一只狗的程序,今天再写小狗的程序,这需要重新再写一遍吗?显然不需要,因为小狗和狗的相似之处太多了,只需要修补充一下小狗特有的属性和方法就行了,比如狗不会爬树,小狗变异了,突然会爬树逮耗子了,那么仅仅只需要把这些特点写出来就行,这样提高效率,不会重复劳动,所以程序引入了继承的概念 ,而程序中继承将会继承所有父类的属性和方法, 继承在面向对象思想中是非常重要的概念,它使整个程序架构具有一定的弹性,在程序中重复使用一些已经定义完善的类。不仅可以减少软件开发周期,同时也提高了软件的可维护性和可扩展性,在现实中儿子从父亲那里继承了很多东西,在java中同样,子类可以从父类继承属性和方法,使用关键字extends来继承,当然,在继承过程中儿子除了继承爸爸的各种优点之外还新增加了属于自己的属性和,方法看下面图表分析、Test2继承Test

 
      从图表可以看出Test2不但继承了Test的方法外还新增加了自己的方法Public void doSomething()

当然儿子在继承爸爸的产业的同时还要想办法去扩展和发扬光大自己的优点,有时候儿子在继承父亲的方法后他不满意,比如爸爸会跑儿子也继承了爸爸这个跑的方法,但是他不满意,因为明明是儿子在跑,总要说是爸爸在跑,所以儿子不满意了,这时候怎么办?重写就出现了,儿子重写了爸爸的跑的方法,之后变成自己在跑,这样儿子满意了,问题解决了,当然在重写过程中不能降低方法的权限修饰范围,

例如:不能把父类的public改写成private。这样缩小范围的重写是错误的,

2:什么是封装?为什么要有封装?封装的好处是什么?

封装顾名思义就是把一些方法和属性封装起来,那么为什么要封装呢?假设你头疼了去医院看病,医生给你来个全身检查这样你麻烦他也麻烦,所以如果 头疼特殊情况除外,肯定是头有问题,这时候就只看头就行了,这样节省时间又节省钱,何乐而不为?,因此封装也一样,在程序中有的项目上万行代码,如果出现问题要你一行一行的检测,太慢了,浪费时间,工作压力也大,因此封装就可以解决这问题,头疼治头,腿疼治腿,所以封装的好处

3:多态是什么?为什么要有多态?多态的好处是什么?

    多态:由于继承和重写机制,相同类型的对象,调用相同的方法,得到的结果可能呈现多种状态;中国有句古话叫龙生九子九子各不同,世界上没有完全相同的两片叶子,即便是一对双胞胎也有不同之处,所以这就是多态,要有继承,要有方法重写,至于多态的好处个人认为是可扩展性好了,比如平行四边形和正方形都是继承 四边形的两种不同状态的图形,

4:方法的重载和方法的重写

  在继承的过程中多少回会遇见重写和重载,但是很多人分不清这两个概念,方法重载就是:具有相同的方法名称,形参的个数顺序类型不同看以下代码

public class Test {
	public static int add(int a,int b){
		return a+b;
	}
	 //参数个数不同
	public static int add(int a){
		return a;
	}
	//参数类型不同
	public static double add(int a,double b){
		return a+b;
	}
	//参数顺序不同
	public static double add(double a,int b){
		return a+b;
	}

}

 
这就是方法重写:

重写:就是方法名相同,参数也相同,只有在继承的前提下只能子类去重写父类的方法看以下代码

public void study(){
		System.out.println(学生+"在学习");
	}	
      //父类方法
public void study(){
		
		System.out.println(大学生+"在学习");
	}

 这就是重写

 

    

  • 大小: 50.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics