已有101人关注
Java从入门到精通(第2版)201页例9.6(由于书名下拉选项没有Java从入门到精通(第2版),故选择(第4版),明日科技出的书很多)
发表在Java图书答疑 2019-02-04 悬赏:1 学分 《Java从入门到精通(第4版)》第11章 类的高级特性 201页-201页
是否精华
版块置顶:

package mingrikeji;


public class SellOutClass {

private String name; // 私有成员变量


public SellOutClass() {// 构造方法

name = "苹果";

}


public void sell(int price) {

class Apple { // 局部内部类

int innerPrice;


public Apple(int price) {// 构造方法

innerPrice = price;

}


public void price() {// 方法

System.out.println("现在开始销售" + name);// name为外部类的成员变量

System.out.println("单价为:" + innerPrice + "元");// innerPrice为局部内部类的成员变量

}

}

Apple apple = new Apple(price);// 实例化Apple类的对象

apple.price();// 调用局部内部类的方法

}


public static void main(String[] args) {

SellOutClass sample = new SellOutClass();// 实例化SellOutClass类的对象

sample.sell(100);// 调用SellOutClass类的sell()方法

}


}

QQ截图20190204114701.jpg

1.连sell方法都是SellOutClass的一部分,为什么说局部内部类Apple并非SellOutClass的一部分

2.“该内部类可以访问当前代码块的常量”是什么意思?


2019-02-05 10:38:01编辑
分享到:
精彩评论 3
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2019-02-11
沙发
  1. 作用域不同,调用sell()方法是才会创建局部类,和局部变量、局部常量一样,和外部类无关。

  2. 同一作用域的变量、常量量可以互相访问。

  3. 这个例子已经在新版图书中替换了。

顺应天意了却凡尘
学分:11 LV2
2019-02-15
板凳

根号申 发表于2019-02-11 09:46

  1. 作用域不同,调用sell()方法是才会创建局部类,和局部变量、局部常量一样,和外部类无关。

  2. 同一作用域的变量、常量量可以互相访问。

  3. 这个例子已经在新版图书中替换了。

是不是调用sell()方法时,才会创建局部内部类,等方法调用结束后,又通过垃圾回收机制,回收了局部内部类,所以说跟外部类无关

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2019-02-18
地板

顺应天意了却凡尘 发表于2019-02-15 20:56

是不是调用sell()方法时,才会创建局部内部类,等方法调用结束后,又通过垃圾回收机制,回收了局部内部类,所以说跟外部类无关

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照