博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题[1]Java之子类是否继承父类属性
阅读量:4112 次
发布时间:2019-05-25

本文共 1004 字,大约阅读时间需要 3 分钟。

Java面试题之子类是否继承父类属性?

题目如下:

public class Super {	private int i = 10;	public void execute() {		System.out.println(i);	}	public static void main(String[] args) {		SubClassA subClass = new SubClassA();		Super superClass = subClass;		System.out.println("subClassA value:");		subClass.execute();		System.out.println("super value:");		superClass.execute();		SubClassB subClassB = new SubClassB();		superClass = subClassB;		System.out.println("subClassB value:");		subClassB.execute();		System.out.println("super value:");		superClass.execute();	}}class SubClassA extends Super {	private int i = 20;}class SubClassB extends Super {	private int i = 30;	public void execute() {		System.out.println(i);	}}

问题:结果的输出是什么?

先不考虑结果我们先看下继承在Java里是个什么概念?

写道
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

也就是说继承主要是为了功能次要是为了数据,那么我们分析上述答案

1.首先看实际执行的方法是哪个类的?

2.那么执行的方法所在类也就是this访问的变量自然就是哪个类的变量

答案:

subClassA value:10super value:10subClassB value:30super value:30super value:

如果修改private为public是否答案等同?必须等同

 

转载地址:http://dvqsi.baihongyu.com/

你可能感兴趣的文章
matplotlib.pyplot.plot()参数详解
查看>>
MFC矩阵运算
查看>>
ubuntu 安装mysql
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输出文件流ofstream用法详解
查看>>
firewalld的基本使用
查看>>
Linux下SVN客户端使用教程
查看>>
Linux分区方案
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>