Java面向对象程序设计:继承,多态用法实例分析

网友投稿 283 2022-12-09


Java面向对象程序设计:继承,多态用法实例分析

本文实例讲述了java面向对象程序设计:继承,多态用法。分享给大家供大家参考,具体如下:

本文内容:

继承

多态

首发时期:2018-03-23

继承:

介绍:

class Person{

String gender="unknown";//为了测试继承,先赋值

int age;

String family_address;

private String children;

}

class Student extends Person{

}

public class Demo {

public static void main(String[] args) {

SpGructudent st=new Student();

System.out.println(st.gender);//unknown

// System.out.println(st.children);//报错,children是父类私有

}

}

继承中的构造函数:

默认是有调用父类的构造函数的,如果想要显式调用父类的构造函数,可以使用super(参数列表)

为了测试有默认super()的例子

class Person{

String gender="unknown";//为了测试继承,先赋值

int age;

String family_address;

private String children;

Person(){

System.out.println("为了测试默认有super()");

}

}

class Student extends Person{

}

public class Demo {

public static void main(String[] args) {

Student st=new Student();

}

}

-------------------结果:

为了测试默认有super()

显示调用构造函数的例子:

class Person{

String gender;

int age;

String family_address;

private String children;

Person(String gender,int age,String family_address){

this.gender=gender;

this.age=age;

this.family_address=family_address;

}

}

class Student extends Person{

Student(String gender,int age,String family_address){

super(gender,age,family_address);

}

}

public class Demo {

public static void main(String[] args) {

Student st=new Student("男",18,"M78星云");

System.out.println(st.gender+st.family_address);//男M78星云

}

}

注意:默认的super()在第一行,而用this调用构造函数时也必须在第一行,那么super()会默认在最终调用的构造函数的第一行。

继承中成员变量的隐藏和方法的重写:

注意:

当子父类出现同名变量,用super来区分

子类无法重写父类的private方法

用super.XXX来显式获取父类的成员变量或调用父类的方法

多态:

介绍:

使用:

向上转型:

package 多态_usage;

class Animal{

int age=4;

void show() {

System.out.println("run in Fu");

}

}

class Tiger extends Animal{

int age=6;

void show() {

System.out.println("ao ao ao");

}

}

class Cat extends Animal{

void show() {

System.out.println("miao miao miao");

}

}

public class Demo2{

public static void main(String args[]) {

Animal a=new Tiger();//把老虎转型成父类-动物

Animal b=new Cat();

System.out.println(a.age);//4

a.show();//run in Zi

b.pGrucshow();//miao miao miao

}

}

注意:

成员变量子父类同名时,成员变量的调用看“.”所属的对象的类。比如是父类.成员变量那么就是父类的。

更多关于java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Apache CXF如何把wsdl生成java代码
下一篇:Java full gc触发情况实例解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~