static关键字
2019-12-11 16:01:43来源:博客园 阅读 ()
static关键字
有关静态方法
图解
可能代码与图有一点不匹配,抱歉哈
使用静态方法
//编写类
public class Student {
private int id;
private String name;
private int age;
static String room;
private static int id_Counter = 0;
public Student() {
//此处,前面加++代表先加在执行后面的内容,后面加++代表先执行在加上
this.id = ++id_Counter;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
this.id = ++id_Counter;
}
public String getName() {
return name;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//测试类
public class demo01staticField {
public static void main(String[] args) {
Student one = new Student("黄蓉", 38);
//静态在类运行时运行一次
one.room = "1903";
System.out.println(one.getName() + one.getAge() + one.room + "学号:" + one.getId());
//定义static静态方法的room(教室),类里面的所有对象都可使用静态的room;
Student two = new Student("郭靖", 46);
System.out.println(two.getName() + two.getAge() + two.room + "学号:" + two.getId());
}
}
静态方法直接类名称使用
/*
一但使用static,那么将成为静态方法,不属于对象,属于类
没有static关键字,需要创建对象然后使用
有static关键字,可以直接使用类名称来使用
*/
/*
注意事项:
1.静态方法不能直接访问非静态。
在内存中先运行的静态,所以它不知道有成员
2.静态方法当中不能用this。
原因:this代表当前对象,静态方法代表的是类
*/
public class demo01 {
public static void main(String[] args) {
MyClass obj = new MyClass();//首先创建对象
//然后才能使用没有Static关键字的方法
obj.method();
//对于静态方法来说,可以直接通过类名称调用
obj.methodStatic();//正确,不推荐,这种写法编译后会变成"类名称.静态方法名();
MyClass.methodStatic();//正确,推荐
}
}
静态方法内存图
原文链接:https://www.cnblogs.com/gz18221/p/12020103.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 面试官:兄弟,说说Java的static关键字吧 2020-06-04
- 面对对象(2) 2020-05-28
- Java并发编程volatile关键字 2020-05-24
- 技术大佬:我去,你竟然还不会用 this 关键字 2020-05-24
- 抽象类与接口 2020-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash