ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于对象和对象的上转型对象

2021-09-19 11:35:33  阅读:88  来源: 互联网

标签:parent 对象 子类 System 转型 关于 println son out


package com.test;
/**
* @author anyan
* @description
* @date 2021/9/19 10:25
*/
/*关于对象的上转型对象
*
* */
public class Test02 {
public static void main(String[] args) {
Parent parent=new Parent();
Son son=new Son();
Parent parent1=new Son();//子类对象的上转型对象
/*对比子类对象和子类对象的上转型对象可以调用的内容*/
/*子类可以直接调用
1.子类自己新增的成员变量和方法
2.从父类中继承过来的并且未对其做任何修改的成员变量和方法
子类不可以直接调用(必须通过关键字super才能调用)
1.子类从父类继承过来的并且对其进行了修改的成员变量和方法
2.父类的构造方法(子类无法继承父类中的构造方法,只能再子类的构造方法首条语句加入super()方法来访问)

子类的上转型对象可以调用:
1.父类中的成员变量(包括继承的和被隐藏的成员变量)
2.继承的方法和被子类重写的方法
子类的上转型对象不可以调用:
1.子类新增的成员(包括新增的成员变量和方法)
2.父类总被隐藏的方法
* */
System.out.println(son.name);//son
System.out.println(son.name01);//anyan
son.mth();//parent
son.mth01();//重写
son.mth02();//子类新增;parent ; parent被隐藏的方法
System.out.println("子类的上转型对象-----------------------------");
System.out.println(parent1.name);//parent
System.out.println(parent1.num);//0
parent1.mth();//parent
parent1.mth01();//重写
}
}
class Parent{
String name="parent"; //被隐藏的成员变量
int num;//未被隐藏
void mth(){
System.out.println("parent");//未被隐藏
}
void mth01(){//被隐藏
System.out.println("parent被隐藏的方法");
}
}
class Son extends Parent{
String name="son";//覆盖父类原有成员变量
String name01="anyan";//子类新增的成员变量

void mth01(){
System.out.println("重写");
}
void mth02(){
System.out.println("子类新增");
System.out.println(super.name);
super.mth01();
}
}
//我居然可以纯手敲代码,哈哈,开心!都是自己看完书之后总结出来的精华

标签:parent,对象,子类,System,转型,关于,println,son,out
来源: https://www.cnblogs.com/a-n-yan/p/15311108.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有