当内部类为非静态时:
public class InnerClassTest {
private static int i = 0;
public class Test {
private int i = 1;
protected int add() {
return i + i;
}
}
public static void main(String[] args) {
InnerClassTest.Test test2 = new InnerClassTest().new Test();
System.out.println(test2.add());
}
}
当内部类为静态时:
public class InnerClassTest {
private static int i = 0;
public static class Test {
private int i = 1;
protected int add() {
return i + i;
}
}
public static void main(String[] args) {
InnerClassTest.Test test2 = new InnerClassTest.Test();
System.out.println(test2.add());
}
}
简单分析:
内部类为非静态时,内部类必须属于某个外围类的对象,所以必须先new InnerClassTest()一个对象出来,
然后new Test()对象。当内部类为静态类时,不属于任何外部类,内部类不包含对外部类对象的引用,因此直接
new InnerClassTest.Test()对象
分享到:
相关推荐
Java内部类访问规则.doc
java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用java 内部类应用
内部类在Java中广泛应用于各种场景,特别是当一个类与其外部类有紧密联系并且仅在该外部类中使用时。比如,你可以在一个类中定义一个私有的内部类,用于实现某种算法或者提供一个特定的服务。内部类的作用域仅限于其...
定义在一个类内部的类叫内部类,包含内部类的类...内部类可以声明public、protected、private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。
什么是内部类? 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附... (3)、内部类声明成静态的,不能随便的访问外部类的成员变量了,此时内部类只能访问外部类的静态成员变量 。
java静态内部类(嵌套类)的实例 。嵌套类意味着: 1. 要创建嵌套类的对象,并不需要其外围类的对象。 2. 不能从嵌套类的对象中访问非静态的外围类对象。
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。 内部类分为成员内部类、静态嵌套类、...
Java语言中的内部类根据定义的位置和访问权限可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类是定义在类的内部且与类的实例相关联的类;局部内部类是定义在方法或作用域内的类;匿名内部...
2)当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,当内部类的成员方法中访问某个变量/方法时,如果在该方法和内部类中都没有定义过这个变量,...
实现java内部类!能更好的实现对类对象的同资源访问!
本Java精华内容深入Java API、嵌套类和内部类、与时间有关的类Date,DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及...
如果内部类没有指定static修饰符,拥有对外部类的所有成员的完全访问权限,包括实例字段和方法。为实现这一行为,非静态内部类存储着对外部类的实例的一个隐式引用。所以,对一个非静态内部类进行实例化需要采用...
文章目录Java内部类:你真得了解方法内部类吗?普通内部类方法内部类匿名内部类静态内部类参考Thinking in Java Java内部类:你真得了解方法内部类吗? java内部类,相信很多人都使用过内部类,新建线程使用的匿名...
局部内部类访问外边的局部变量 马克-to-win java视频的介绍
由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能。 不过你可能要质疑,更改一下方法的不行了吗? 的确,以此作为设计内部类的理由,实在没有说服力。 真正的...
主要介绍了Java内部类原理、概述与用法,结合实例形式详细分析了Java内部类的相关概念、原理、访问、调用方法等操作技巧与注意事项,需要的朋友可以参考下
成员内部类 定义的位置:类中,方法以外 静态内部类 定义的位置:类中,方法以外 局部内部类 定义的位置:方法中 匿名内部类 定义的位置:值或实参中 1.2成员内部类 定义位置: 在类中方法以外 语法: 访问权限修饰符 ...
在Java中,当生成一个内部类的对象时,此对象与制造它的外部类通过外部类的.this保持着联系,因此该内部类对象可以访问其外部类对象的所有成员,包括private成员。 而该内部类对象对于其他类的对象的访问,遵照...
Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
Java中局部内部类可以访问它所在方法中定义的final修饰的局部变量的合理解释.doc