shibuyarin 2017-10-16 08:47 采纳率: 20%
浏览 943

关于方法内部类和直接构造getter方法的区别

学习到内部类的时候,看到个例子
class Outer{
private String str = "abc";
public void fun(){
class Inner {
public void print(){
System.out.println(Outer.this.str);
}
}
new Inner().print();
}
}

请问这么做有什么好处?和直接写一个getter方法的区别是什么?
都是为了输出private的外部类的属性,直接写一个getter方法输出不是更方便吗?

  • 写回答

2条回答 默认 最新

  • 青裳君澈 2017-10-16 08:50
    关注

    构造函数是用于初始化类的属性,且只有在创建对象时才会调用构造函数,用于给对象分配地址
    无参的构造函数,创建对象时默认调用,当程序没有明确写出有参的构造函数,系统会默认的创建一个。
    有参的构造函数,创建对象时传进参数。
    setter方法,是对象引用调用setter方法,并传入参数。
    getter方法,对象调用getter方法,获取对象属性的值。

    区别:
    构造方法只有在创建对象时才会被“系统”调用且只调用一次, 而getter和setter方法是随时可以被“对象”调用
    构造方法不能获取对象属性的值, 而getter可以获取对象的属性值

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?