ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

一起学Java(二十七)----- 子父类继承调用方法问题

2020-04-05 18:52:07  阅读:202  来源: 互联网

标签:Java 子类 System 二十七 println 父类 方法 out


不积跬步,无以至千里;不积小流,无以成江海。

 

Java语言基础

 

子类继承父类时,子类和父类有同名变量和同名方法,对象调用的是哪个的变量或者方法?

结论如下:

 

class Father{
	
	int i = 10;
	
	void set() {
		System.out.println("父类的方法");
	}
	
	void setted() {
		System.out.println("父类的方法");
	}
}

class Son extends Father{
	
	int i = 40;
	
	void set() {
		System.out.println("子类的方法");
	}
	
	void settedd(){
		System.out.println("子类的方法");
	}
}

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Father f = new Father();
		Son s = new Son();
		Father ff = new Son();
		
		System.out.println(f.i);//10
		System.out.println(s.i);//40
		System.out.println(ff.i);//10
		System.out.println();
		//结论:子类,父类含有相同的成员变量,数值看引用型变量所属的类,即左边
		
		f.set();//输出:父类的方法;结论:同名方法,父类对象调用的是父类方法
		s.set();//输出:子类的方法;结论:同名方法,子类对象调用的是子类方法
		
		ff.set();//输出:子类的方法;结论:对于这种'父类 实例 = new 子类()',同名方法调用的是子类方法
		ff.setted();//输出:父类的方法;结论:可以调用父类中独有的方法
//		ff.settedd();//wrong;结论:结论:不可以调用子类中独有的方法
		
//		f.settedd()//wrong;结论:结论:父类对象可以调用子类中独有的方法
		s.setted();//输出:父类的方法;结论:子类对象可以调用父类中独有的方法
		
	}
}

 

  

 

  

标签:Java,子类,System,二十七,println,父类,方法,out
来源: https://www.cnblogs.com/smilexuezi/p/12638485.html

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

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

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

ICode9版权所有