static 修饰属性、方法、内部类

static一般用来修饰成员变量或函数也修饰代码块,一般不能修饰类,但是可以修饰内部类,被修饰的内部类可以直接作为一个普通类来用,不需要创建一个外部类的实例,而普通内部类的引用需要创建一个外部类的实例。

package com.tonyluis;

public class StaticClassTest {
	public static void main(String[] args) {
		//静态内部类可以直接new
		StaticInner si=new StaticInner();
		//非静态内部类需创建一个父类的实例,方能new
		StaticClassTest sct=new StaticClassTest();
		Inner i=sct.new Inner();
	}
	class Inner{

	}
	static class StaticInner{

	}

}
时间: 2024-10-20 13:59:51

static 修饰属性、方法、内部类的相关文章

修饰符-包-内部类-代码块执行顺序

1.访问权限修饰符     从大到小的顺序为:public--protected--default--private     private--只能在同一类中使用;     default--不用写出来,默认不加.可以被同一包中的类使用     protected--可以被不同包的子类使用     public--可以被不同包的其它类使用 2.各种修饰符的修饰对象(可修饰哪些:类/接口/方法/属性)(多个修饰符连用是可以没有顺序的!)     1)访问权限修饰符:public/default--

static关键字修饰属性

static 静态的,可以修饰属性,方法,代码块(或初始化块) , 内部内 非static修饰的属性(实例变量):各个对象各自拥有一套各自的副本 static修饰属性(l类变量): 1.由类创建的所有的对象,都共用一个属性 2.当其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用. 3.类变量随着类的加载而加载的.而且独一份 4.静态的变量可以直接通过 “类.类变量” 的形式来调用 5. 类变量的加载要早于对象,所以当有对象以后, 可以 "对象.类变量"  的使用,但是 &

java中什么时候该用static修饰方法?有什么好处或者坏处?

当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方法public static add(){}那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以如果这个方法前面没有static 比如 public add(){}那么先要person p=new person();然后用p.add();类加载

static修饰

1.static修饰的资源属于类级别的资源,静态的资源,对于类所有实列共享的资源 2.static关键字可以用来修饰属性.方法.代码块.内部类 a.static修饰属性: static修饰的属性属于对类所有实列共享的资源 访问静态的属性:类名.属性名(): b.static丝素方法: static修饰的方法属于静态方法,可以直接类名.方法名()进行调用,一般是把静态方法作为 工具方法静态方法中不能调用对象的资源(对象.属性.对象方法) c.static修饰代码块 在类加载的时候执行,因为类只加载

java——关键字以及修饰属性

1. java中的修饰属性(public,private,protect,default) public:java中访问限制最宽的修饰符.被其修饰的类,属性以及方法不仅可以跨类访问,而且可以跨包(package)访问 private:权限限制最窄的修饰符.被其修饰的类,属性以及方法只能被该类的对象访问,子类不能访问,更不能跨包访问 protect:介于public和private之间.被其修饰的类,属性以及方法只能被类本身的方法以及子类访问,即使子类在不同的包中也可以访问 default:默认访

static关键字与方法区和类加载

1.static的作用 答:将成员变量或方法存储进方法区.因为方法区能保证数据只存在一份,只会加载一次(类加载器加载类的时候才加载一次) 注:static Object obj = new Object();方法区存储的是obj这个引用变量,而不是Obejct这个被创建的对象,对象依旧存储在堆中.只不过由于statcic 引用变量一直存在,导致堆中这个对象一直没法被回收. 注:一定要区分什么叫变量!什么叫对象!方法区明文说的是:存储静态变量和静态方法.是变量,即引用变量,不是对象. java中对

JavaSE8基础 外部类不允许用static修饰

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //外部类不允许用static修饰,但是内部类可以! static class Person { } class Demo { public static void main(String[] args) { } } 结果: Java优秀,值得学习.学习资源:itcast视频库.如果您有公开的资源,可以分享给

转:Java中子类是否可以继承父类的static变量和方法而呈现多态特性

原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法. 它们只能访问static数据. 它们不能以任何方式引用this 或super. 无论是static修饰的变量,还是static修饰的方法,我们都知道他们是属于类本身的,不是属于某一个对象的,当声明一个对象时,并不产生sta

static,final,包,访问修饰符,内部类

static 关键字可以修饰成员变量,被static修饰的成员变量归属于类static关键字可以修饰成员方法:被static修饰的成员方法可以直接使用类名调用,也可以通过对象调用,建议使用类名.非静态的方法只能通过对象才能调用静态的方法可以通过类名直接调用,也可以通过创建对象,使用对象名进行调用.静态方法中不能使用非静态的成员变量在非静态的方法中可以使用静态的成员变量静态的内容要优先与对象存在,当类加载的时候,会随着类的加载而存在于静态区中. 局部代码块分为局部代码块和构造代码块局部代码块:在方