如何处理Java中子类访问父类私有成员变量的继承难题?

2026-04-19 16:353阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计974个文字,预计阅读时间需要4分钟。

如何处理Java中子类访问父类私有成员变量的继承难题?

“如果父类中属性为私有(private),那么这些属性能否被子类继承?答案是否定的。以下是一个简单的代码示例:

javaclass Father { private String name;

public void sayHi() { System.out.println(My name is + this.name); }}

如果父类中属性为私有(private),那么能否被子类继承呢?

答案是不可以。

我们看如下简单代码

class Father { private String name; public void sayHi() { System.out.println("My name is " + this.name); } } class Son extends Father {} public class PrivateFieldTest { public static void main(String[] args) { Father f1 = new Father(); Son s1 = new Son(); f1.sayHi(); s1.sayHi(); } }

得到的结果是:

My name is null My name is null

这里我们使用的都是默认构造函数,子类自动引用父类的默认构造函数。直接构造为null。

阅读全文
标签:继承

本文共计974个文字,预计阅读时间需要4分钟。

如何处理Java中子类访问父类私有成员变量的继承难题?

“如果父类中属性为私有(private),那么这些属性能否被子类继承?答案是否定的。以下是一个简单的代码示例:

javaclass Father { private String name;

public void sayHi() { System.out.println(My name is + this.name); }}

如果父类中属性为私有(private),那么能否被子类继承呢?

答案是不可以。

我们看如下简单代码

class Father { private String name; public void sayHi() { System.out.println("My name is " + this.name); } } class Son extends Father {} public class PrivateFieldTest { public static void main(String[] args) { Father f1 = new Father(); Son s1 = new Son(); f1.sayHi(); s1.sayHi(); } }

得到的结果是:

My name is null My name is null

这里我们使用的都是默认构造函数,子类自动引用父类的默认构造函数。直接构造为null。

阅读全文
标签:继承