一、JAVA中的静态:
1.代码如下:
示例:
package 静态static;
public class 静态static {
public static void main(String[] args) {
静态static1 one =new 静态static1("李明",19);
静态static1 two =new 静态static1("小五",15);
one.room="1001教室";
System.out.println("姓名:"+one.getName()+" 年纪:"+one.getAge()+" 教室:"+one.room);
System.out.println("姓名:"+two.getName()+" 年纪:"+two.getAge()+" 教室:"+one.room);
静态static1 obj =new 静态static1();//首先创建对象
//然后才能使用没有static关键字的内容
obj.method();
//对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名称来调用
obj.staticmethod();// 正确但不推荐
静态static1.staticmethod();//正确推荐
}
==============================================================
package 静态static;
public class 静态static1 {
private String name;
private int age;
static String room;
//
public void method(){
System.out.println("这个一个成员方法");
}
public static void staticmethod(){
System.out.println("这是一个静态方法");
}
//
//静态代码块
static {
System.out.println("静态代码块执行了");
}
//
public 静态static1() {
}
public 静态static1(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2.运行结果:
示例:
静态代码块执行了
姓名:李明 年纪:19 教室:1001教室
姓名:小五 年纪:15 教室:1001教室
这个一个成员方法
这是一个静态方法
这是一个静态方法
总结:
提示:这里对文章进行总结:
static:
一旦使用static关键字,那么这样的内容不再属于对象自己,而是属于类,所以凡是本类的对象,都是共享的。
如果一个成员变量使用了static关键字,那么这个变量不再属于自己,而是属于所在的类,多个对象共享同一份数据
如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用他
如果有了static关键字,那么不需要创建对象,直接就能通过类名称调用
无论是成员变量,还是成员方法,如果有了static,都推荐使用类名称进行调用
静态变量:类名称.成员变量
静态方法:类名称.成员方法()
注意:
1.静态不能访问非静态
原因:因为在内存中是先有的静态内容,后有的非静态内容
2.静态方法当中不能使用this.
原因:this代表当前对象,通过谁调用的方法,谁就是当前对象
3.对于本类中的方法,可以直接写方法名称来调用
4.根据类名称访问静态成员变量的时候,全程和对象没关系,只和类有关系
静态代码块的格式:
public class 类名称{
static{
//静态代码块内容
}
}
特点:
当第一次用到本类时,静态代码块执行唯一的一次
静态内容总是优先于非静态内容,所以静态代码块比构造方法先执行
技术交流Q群:832552317