【JAVA】Java 继承
继承
继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
<理解:继承就是子类继承父类的特征和行为,即子类从父类继承方法,使得子类具有父类相同的行为。>
示例:
父类
package com.ext; public class DemoCommon { String DemoName; String DemoId; String DemoAddr = "beijing"; public void CommMethod(){ System.out.println("common over!~");//3.1 -- 4.6.1 } }
子类
package com.ext; public class DemoExt extends DemoCommon{ String SubDemoName = "zhangsan"; String SubDemoAddr = "shanghai"; public void ExtMethod(){ System.out.println("subDemo ext Common");//4.1 System.out.println(this.SubDemoName);//4.2 System.out.println(this.SubDemoAddr);//4.3 System.out.println(this.DemoName);//4.4 System.out.println(this.DemoId);//4.5 this.CommMethod();//4.6 } }
主方法
package com.ext; public class Demo { public static void main(String[] args) { DemoExt demoExt = new DemoExt(); System.out.println(demoExt.SubDemoName);//1 System.out.println(demoExt.DemoAddr);//2 demoExt.CommMethod();//3 demoExt.ExtMethod();//4 } }
执行结果
拓展
封装
封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
<理解:封装是隐藏方法的实现细节>
封装是一种信息隐藏技术,在java中通过关键字private,protected和public实现封装。
封装及调用
package com.Run; import netscape.javascript.JSObject; public class DemoRun { private String name; private int age = 18; private String address; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(Integer age){ this.age = age; } public int getAge(){ return age; } public void setAddress(String address){ this.address = address; } public String getAddress(){ return address; } public static void main(String[] args) { DemoRun demoRun = new DemoRun(); demoRun.setName("zhangsan"); String name = demoRun.getName(); System.out.println("姓名:" + name); demoRun.setAge(22); System.out.println(demoRun.age); System.out.println(demoRun.address); } }
执行结果:
多态
指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义
实现多态有 3 个必要条件
继承:在多态中必须存在有继承关系的子类和父类。 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法,又能调用子类的方法。
-------------------------------------------------------------------------------------
如果万事开头难 那请结局一定圆满 @ Phoenixy
-------------------------------------------------------------------------------------