static修饰内部类】的更多相关文章

static一般用来修饰成员变量或函数也修饰代码块,一般不能修饰类,但是可以修饰内部类,被修饰的内部类可以直接作为一个普通类来用,不需要创建一个外部类的实例,而普通内部类的引用需要创建一个外部类的实例. package com.tonyluis; public class StaticClassTest { public static void main(String[] args) { //静态内部类可以直接new StaticInner si=new StaticInner(); //非静态…
创建内容类的方式通过外部类的实例对象来创建 public class AA { int a =1; class BB { int b=3 ; } public static void main(String[] args) { AA a =new AA(); BB b=a.new BB(); System.out.println(a.a); System.out.println(b.b); } } 利用static修饰后,能够直接创建 public class AA { int a =1; st…
Java里面static一般用来修饰成员变量或函数.但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以.被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码)public class OuterClass {      public static class InnerClass{          InnerClass(){              System.out.println("============= 我…
Java里面static一般用来修饰成员变量或函数.但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以.被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) Java代码 public class OuterClass { public static class InnerClass{ InnerClass(){ System.out.println("============= 我是一个内部类'InnerClass'…
一.final final是不变的,最终的意思.可以用来修饰变量,方法,类. 1. 修饰变量 private final int a = 2; private final int b; // final 空白,必须在构造函数中指定初始值. // 因为static 的缘故,必须在定义时指定初始值,不能在构造函数中指定初始值. // 因为访问static 变量根本不用调用构造函数啊,笨蛋! private static final int c = 3; 2. 修饰方法 表示该方法不能被子类重写.使用…
访问修饰符: 公开访问(public):对所有子类,非子类访问: 受保护的(protected):只有同包子类.非子类.不同包子类可访问,不同包非子类不可访问: 私有的(private):只有本类可访问,其子类不可访问: 默认(无修饰符):只有同包子类.非子类访问,不同包子类.非子类不能访问: 访问修饰符的权限: 修饰符 本类 同包 不同包 子类 非子类 子类 非子类 private √ × × × × 默认 √ √ √ × × protected √ √ √ √ × public √ √ √…
java中普通的顶级类是不能使用static关键字修饰的.只有内部类可以使用static修饰,也可以不使用staitc关键字修饰. java中的类可以是static吗?答案是可以.在java中我们可以有静态实例变量.静态方法.静态块.类也可以是静态的. java允许我们在一个类里面定义静态类.比如内部类(nested class).把nested class封闭起来的类叫外部类.在java中,我们不能用static修饰顶级类(top level class).只有内部类可以为static.   …
static修饰符表示静态的,可修饰字段.方法.内部类,其修饰的成员属于类,也就是说static修饰的资源属于类级别,而不是对象级别. static的正真作用:用来区别字段,方法,内部类,初始化代码块是属于对象还是属于类本身. static修饰符的特点: 1. static修饰符的成员(字段/方法),随着所在类的加载而加载. 当JVM把字节码加载进JVM的时候,static修饰符的成员就已经在内存中了. 2. 优先于对象的存在 对象是我们手动通过new关键字创建出来的. 3. static修饰符…
1.static不能修饰外部类的原因 static修饰的成员是属于某个类的.而外部类的上一级程序单元是包,所以static不能修饰外部类. 2.外部类,内部类有不同访问权限的原因 外部类的上一级程序单元是包,所以有两个作用域:包内,包外.对应默认访问权限,public访问权限 内部类的上一级程序单元是外部类,所有有四个作用域:类内,子类,包内,包外.对应private,protected,默认,public访问权限 3.java静态方法能否被重写 静态方法的调用不需要实例化吧, 不实例化也就不能…
static修饰符        static修饰符能够与属性.方法和内部类一起使用,表示静态的.类中的静态变量和静态方法能够与类名一起使用,不需要创建一个类的对象来访问该类的静态成员,所以,static修饰的变量又称作“类变量”. static属性的内存分配 一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间. static的变量是在类装载的时候就会被初始化,即,只要类被装载,不管是否使用了static变量,都会被初始化…