public class test {
private final int a;
public test(int a) {
this.a = a;
}
private int getA() {
return a;
}
public void exec() {
new test(1) {
public void print() {
System.out.println(getA());// 0
}
}.print();
}
public static void main(String[] args) {
new test(0).exec();
}
}
public class test {
private final int a;
public test(int a) {
this.a = a;
}
public int getA() {
return a;
}
public void exec() {
new test(1) {
public void print() {
System.out.println(getA());// 1
}
}.print();
}
public static void main(String[] args) {
new test(0).exec();
}
}
差别在于getA()方法的可见性
分享到:
相关推荐
笔试必备的 java 知识 1. java.util.*包的UML结构图。 Collection List LinkedList ArrayList Vector Stack Set HashSet ...不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
在OOA中运用继承原则,就是在每个由一般类和特殊类形成的一般-特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和服务, 一次性地在一般类中进行显式的定义。 在特殊类中不再重复地定义一般类...
2、详细地介绍了Kotlin的各种类,比如数据类、枚举类、密封类,类的继承,类的多态性,类的主构造函数与次构造函数,抽象类与接口,还有嵌套类与内部类与Java语言的区别。所有类只能有一个父类,可以实现多个接口。 ...
7.6.3. final类不能被继承; 7.6.4. String 类 7.7. 抽象类 7.8. 接口 (模板方法模式) 7.9. Object 类 7.10. 封装类 7.11. 内部类 7.11.1. 内部类的分类 7.11.2. 成员内部类 7.11.3. 局部内部类 7.11.4. ...
基本上,用户可以以树结构的形式可视化所有类,内部类和继承关系。 前提条件 您需要什么东西来安装软件以及如何安装它们 您本地计算机上的java8 您需要具有javaparser库。 可以在找到 代码示例 Javaparser库用于...
15.4.1 基于继承的匿名内部类 334 15.4.2 基于接口实现的匿名内部类 335 15.4.3 匿名内部类的初始化 337 15.4.4 匿名内部类作用的体现 337 15.5 理解内部类 339 15.6 内部接口 340 15.6.1 定义在类中的...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,... Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...
内部类 课程亮点: 笔记加案例详细讲解Java入门知识!!!提供详细的笔记作为辅助工具,2000多条笔记帮助学员快速掌握Java150多个知识点 课程特色: 笔记JAVA:用200条笔记串连所有知识点,让学员从一点一滴积累,...
11.2.3 final——让类不可被继承 295 11.2.4 理解final关键字 296 11.2.5 总结:类的修饰符 297 11.3 方法的修饰符 297 11.3.1 方法的访问控制符 298 11.3.2 public:没有限制的修饰符 299 11.3.3 protected:...
8.2.1类内部的内联函数 8.2.2存取函数 8.3内联函数和编译器 8.3.1局限性 8.3.2赋值顺序 8.3.3在构造函数和析构函数里隐藏行为 8.4减少混乱 8.5预处理器的特点 8.6改进的错误检查 8.7小结 8.8练习 第9章 命名控制 9.1...
11.2.3 final——让类不可被继承 295 11.2.4 理解final关键字 296 11.2.5 总结:类的修饰符 297 11.3 方法的修饰符 297 11.3.1 方法的访问控制符 298 11.3.2 public:没有限制的修饰符 299 11.3.3 protected:...
内部类 private class ClientThread extends Thread 客户端线程类。 public ClientThread(Socket client) public void run() 消息内容: 类型说明: 10:客户端发送文件地址 11:客户端发送的地址有误,不予响应 ...
学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...
该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问...
7.6.3. final类不能被继承; 7-23 7.6.4. String 类 7-23 7.7. 抽象类 7-24 7.8. 接口 (模板方法模式) 7-25 7.9. Object 类 7-27 7.10. 封装类 7-28 7.11. 内部类 7-29 7.11.1. 内部类的分类 7-29 7.11.2. 成员内部类...
1.2 多继承、与菱形缺陷、this跳转等……………………… ……………… 13 1.3 C++多态的两种多态形式和区别…………………………………………… 18 第二章 重载 ………………………………………………………………...
7.6.3. final类不能被继承; 7-23 7.6.4. String 类 7-23 7.7. 抽象类 7-24 7.8. 接口 (模板方法模式) 7-25 7.9. Object 类 7-27 7.10. 封装类 7-28 7.11. 内部类 7-29 7.11.1. 内部类的分类 7-29 7.11.2. 成员内部类...
也就是说,陌生的类最好不要作为局部变量的形式出现在类的内部。 6.恰恰是告诉我们用抽象构建框架,用实现扩展细节的注意事项而已:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;...
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把...
程序集(Assembly),可以简单理解为编译之后生成的.dll或.exe文件,相对于namespace是类库的逻辑组织形式,它可以称为程序类库的物理组织形式,msdn上描述“程序集包含描述它们自己的内部版本号和它们包含的所有数据...