首页 / JAVA / java static
java static
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java static,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2497字,纯文字阅读大概需要4分钟。
内容图文
![java static](/upload/InfoBanner/zyjiaocheng/834/5fa6aba4bbae47c68a7c7535e70cea86.jpg)
JAVA.static
static是静态修饰符,主要作用在于创建独立于具体对象的域变量或者方法。
出发点:当我们通过new关键字去创建对象的时候数据的存储空间才会被分配,类中的成员方法才能被对象所使用。程序中任何变量或代码,都是在编译时,有系统自动分配内存来存储,静态的意义时在编译后分配的内存会一直存在直至程序结束释放内存空间。
静态变量、方法
被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。
PS:
1.在静态方法中没有this关键字因为静态是随着类的加载而加载,而this是随着对象的创建而存在的。静态比对象优先存在。
2.静态可以访问静态的,但是静态不能访问非静态的。
3.非静态的可以去访问静态的。
构造块、静态块
静态块、方法、变量在main前执行
静态块>main()>构造块>构造方法
public class Study_static {
public static char text = 'a'; //静态对象
public Study_static(){ //构造函数
System.out.println('c');
}
{ //构造块
System.out.println('b');
}
static{ //静态块
System.out.println(text);
}
public static void main(String[] args){
Study_static a = new Study_static();
}
}
//out:a->b->c
先执行静态块,再tudy_static a = new Study_static();该语句创建对象,则又会调用构造块,输出构造块,再执行构造函数。
静态类
非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。
一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。
class OuterClass{
private static String msg = "GeeksForGeeks";
// 静态内部类
public static class NestedStaticClass{
// 静态内部类只能访问外部类的静态成员
public void printMessage() {
// 试着将msg改成非静态的,这将导致编译错误
System.out.println("Message from nested static class: " + msg);
}
}
// 非静态内部类
public class InnerClass{
// 不管是静态方法还是非静态方法都可以在非静态内部类中访问
public void display(){
System.out.println("Message from non-static nested class: "+ msg);
}
}
}
class Main
{
// 怎么创建静态内部类和非静态内部类的实例
public static void main(String args[]){
// 创建静态内部类的实例
OuterClass.NestedStaticClass printer = new OuterClass.NestedStaticClass();
// 创建静态内部类的非静态方法
printer.printMessage();
// 为了创建非静态内部类,我们需要外部类的实例
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();//这样new出来的
// 调用非静态内部类的非静态方法
inner.display();
// 我们也可以结合以上步骤,一步创建的内部类实例
OuterClass.InnerClass innerObject = new OuterClass().new InnerClass();
// 同样我们现在可以调用内部类方法
innerObject.display();
}
}
内容总结
以上是互联网集市为您收集整理的java static全部内容,希望文章能够帮你解决java static所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。