【yoyo】关于java中内部类的使用
2017-08-16 08:40
141 查看
静态内部类定义 静态内部类,定义在类中,任何方法外,用static定义;静态内部类只能访问外部类的静态成员。 生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。 静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通过生成外部类对象来生成。 作用:只有静态内部类中才能创建静态属性和静态方法 实例
public class Stu {
// 这个东西叫做静态代码块,静态代码块是在类的构造方法执行前执行的代码,我们所有的static修饰的内容都是放置在静态区的
// 那么静态代码块也是这样,静态代码块中是可以加入操作流程的,我们可以理解为静态代码块是这个类的对象被创建之前必须执行的一个方法;
static {
System.out.println("类开始加载");
}
public Stu () {
System.out.println("构造方法开始执行");
}
/**
* 内部类基本上具有类的所有特征, 内部类可用static修饰, 内部类是写在另外一个类里面的类
*/
public static class SubClass { // 静态内部类
public static void testInnerClass() {
System.out.println("输出一个内容");
}
}
public class SubClass1{ // 动态内部类
public void testInnerClass1() {
System.out.println("输出一个内容");
}
}
}
测试函数:
public class Test {
public static void main(String[] args) {
Stu stu = new Stu();
Stu stu2 = new Stu();//只要有这个类被创建的时候,静态代码块只执行一次
Stu.SubClass.testInnerClass(); // 静态内部类可通过外部类名.内部类命.内部类方法,进行调用
Stu.SubClass sub = new Stu.SubClass(); // 也可通过创建内部类对象进行调用
sub.testInnerClass();
Stu.SubClass1 sub1 = stu.new SubClass1(); // 非动态内部类调用
sub1.testInnerClass1();
}
}
运行结果:
类开始加载
构造方法开始执行
构造方法开始执行
输出一个内容
输出一个内容
输出一个内容
相关文章推荐
- 关于JAVA中匿名内部类的使用
- java代码关于匿名内部类和接口的方法使用
- java关于内部类的一些使用跟限制记录
- java中关于内部类的使用详解
- 关于java中package使用的几点问题
- 关于javabean属性使用annotation约束的测试
- 关于Java开发中使用Oracle数据库的一点注意事项
- 关于一些Java开发工具的使用心得(不断更新)
- 关于JAVA匿名内部类的一点讨论.
- 关于JAVA匿名内部类,回调,事件模式的一点讨论 VS dotNET事件模式
- Java中静态关键字的使用和内部类的调用
- 关于JAVA匿名内部类的一点讨论
- 关于Linux 下 使用JAVA出现中文小框框的问题
- 关于使用java中的一些规范
- 关于java 的基本开发工具:命令控制台的使用
- Java基础:关于Java编程语言中的内部类说明(摘)
- 关于使用Java开发工具的一些心得
- 关于java中的内部类
- JAVA的思考(关于接口,抽像类,内部类)
- 关于JAVA匿名内部类,回调,事件模式的一点讨论