静态变量静态函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
静态变量
所有的类的对象共享1个静态变量 定义时前必须加static关键字 static经常与final关键字一起来定义类里的常量,不允许修改 类内可直接使用静态变量 在类外一般通过 【类名.静态变量】 来访问静态变量,也可以通过一个 合法的对象来访问静态变量【对象名.静态变量】
Zhang 10001
class Student
三
{
Li
个
String name;
10002
对
String no;
象
}
Wang
10003
class Math {
public static final PI=3.1415926; String no; }
共享1个静态变量: combatPower
200
class Cavalryman {
pupbulbipcluicsbtslaitctaicstitcvaotvicodivdmomaidianmi(nSa(tSirnitn(rSigntgrairnaggrsg[as]r[)g]{)s[{]) {
int xin=t i3xn;t=x 3=; 3;
Test pt r=inptnr(ienxw)t(;xT)e;st();
i=120
j=01
s2
2 1 2 1
对类成员的访问
• static (静态变量D/:静\>j态av方ac法Te)st.java
Test.java:9: non-static method print(int) ccllaasscsslaTTseesssTtte{{st { cannot be referenced from a static context
static int combatPower ;
int physicalStrength ; String country; }
class Math {
public static final PI=3.1415926; String no; }
70 China
50 Japan
49 Korea
每个对象都有自己的 “physicalStrength ” 和“country”
ss11..jj+++;; ss22..jj+++;; System.out.println(s1.i); System.out.println(s1.j); System.out.println(s2.i); System.out.println(s2.j); } } 写出上面代码的输出。
s1
j=01
print(x); pupbulbipcluicvbovlicodisdptrapintriitcn(itvn(oitnidxt)xp{)r^i{nt(int x) {
SysteSmys.Sto1yeusmettr.e.promorurin.to.tplunrt(i.nxp)trl;inn(txln)(;x); 同一}类} 中},static方法中仅仅可以直接调用该类的 其他static方法
如:Math.sqrt(100)
也可以通过对象引用来访问静态方法,比较少。
Example:StaticDemo
类的静态方法ShowValue访问了静态变量x
123
通过类名Myclass访问静态方法ShowValue
通过引用v(对象)访问静态变量x
456
通过引用v(对象)访问静态方法ShowValue
} t}.print(x);
}
}} }
Baidu Nhomakorabea
final 变量/方法
– final变量: 定义一个常数,即变量值不能改变 final double AVOGADRO = 6.022e23; – final类: 不能有子类 – final方法: 方法不能被重写(overriding) class ChessAlgorithm {
... final void nextMove(ChessPiece pieceMoved,
BoardLocation newLocation) { ... } ... }
静态方法
实例函数(非静态函数)
类内部:类内部的其它函数可直接调用实例函数 类外部:必须有一个合法的对象,通过对象来访问成员变量(r1.inside(12,2))
静态函数(方法)
定义时前必须加static关键字
静态函数可以访问该类的静态变量,不能访问成员变量
在类外访问静态方法通过【类名.方法名】来调用静态函数
静态变量
Java成员变量分为:实例变量和静态变量 (类变量)
变量声明时成员变量前加static修饰的变量为静态变量,其它均为成员变量
实例变量
每个对象有自己值 在定义实例变量的类里访问该成员变量,直接使用名字或this.名字即可 在定义实例变量的类外访问时,必须有一个合法的对象,通过对象来访 问成员变量
456
再次通过类名Myclass访问静态方法ShowValue
阅读下列代码回答问题(关于static的理解): public class Static {
static int i = 0; int j=0; public static void main(String[] args) {
Static s1 = new Static(); Static s2 = new Static(); ss11..ii++++;; ss22..ii+++;;
所有的类的对象共享1个静态变量 定义时前必须加static关键字 static经常与final关键字一起来定义类里的常量,不允许修改 类内可直接使用静态变量 在类外一般通过 【类名.静态变量】 来访问静态变量,也可以通过一个 合法的对象来访问静态变量【对象名.静态变量】
Zhang 10001
class Student
三
{
Li
个
String name;
10002
对
String no;
象
}
Wang
10003
class Math {
public static final PI=3.1415926; String no; }
共享1个静态变量: combatPower
200
class Cavalryman {
pupbulbipcluicsbtslaitctaicstitcvaotvicodivdmomaidianmi(nSa(tSirnitn(rSigntgrairnaggrsg[as]r[)g]{)s[{]) {
int xin=t i3xn;t=x 3=; 3;
Test pt r=inptnr(ienxw)t(;xT)e;st();
i=120
j=01
s2
2 1 2 1
对类成员的访问
• static (静态变量D/:静\>j态av方ac法Te)st.java
Test.java:9: non-static method print(int) ccllaasscsslaTTseesssTtte{{st { cannot be referenced from a static context
static int combatPower ;
int physicalStrength ; String country; }
class Math {
public static final PI=3.1415926; String no; }
70 China
50 Japan
49 Korea
每个对象都有自己的 “physicalStrength ” 和“country”
ss11..jj+++;; ss22..jj+++;; System.out.println(s1.i); System.out.println(s1.j); System.out.println(s2.i); System.out.println(s2.j); } } 写出上面代码的输出。
s1
j=01
print(x); pupbulbipcluicvbovlicodisdptrapintriitcn(itvn(oitnidxt)xp{)r^i{nt(int x) {
SysteSmys.Sto1yeusmettr.e.promorurin.to.tplunrt(i.nxp)trl;inn(txln)(;x); 同一}类} 中},static方法中仅仅可以直接调用该类的 其他static方法
如:Math.sqrt(100)
也可以通过对象引用来访问静态方法,比较少。
Example:StaticDemo
类的静态方法ShowValue访问了静态变量x
123
通过类名Myclass访问静态方法ShowValue
通过引用v(对象)访问静态变量x
456
通过引用v(对象)访问静态方法ShowValue
} t}.print(x);
}
}} }
Baidu Nhomakorabea
final 变量/方法
– final变量: 定义一个常数,即变量值不能改变 final double AVOGADRO = 6.022e23; – final类: 不能有子类 – final方法: 方法不能被重写(overriding) class ChessAlgorithm {
... final void nextMove(ChessPiece pieceMoved,
BoardLocation newLocation) { ... } ... }
静态方法
实例函数(非静态函数)
类内部:类内部的其它函数可直接调用实例函数 类外部:必须有一个合法的对象,通过对象来访问成员变量(r1.inside(12,2))
静态函数(方法)
定义时前必须加static关键字
静态函数可以访问该类的静态变量,不能访问成员变量
在类外访问静态方法通过【类名.方法名】来调用静态函数
静态变量
Java成员变量分为:实例变量和静态变量 (类变量)
变量声明时成员变量前加static修饰的变量为静态变量,其它均为成员变量
实例变量
每个对象有自己值 在定义实例变量的类里访问该成员变量,直接使用名字或this.名字即可 在定义实例变量的类外访问时,必须有一个合法的对象,通过对象来访 问成员变量
456
再次通过类名Myclass访问静态方法ShowValue
阅读下列代码回答问题(关于static的理解): public class Static {
static int i = 0; int j=0; public static void main(String[] args) {
Static s1 = new Static(); Static s2 = new Static(); ss11..ii++++;; ss22..ii+++;;