Java static关键字的使用
来源:互联网 发布:pokemongo自动走路软件 编辑:程序博客网 时间:2024/05/18 19:43
1.静态变量
2.静态方法
3.静态块
(1).为什么用静态变量
一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立,然而在某些时候,我们更希望该类所有的对象共享同一个成员的时候,就需要static来修饰了
是被整个类所拥有.
public class Car {//car的颜色用static修饰static String carColor="red";public static void main(String[] args) {//1.直接用类名调用/不用创建对象 System.out.println("直接用类名调用carColor="+Car.carColor); //2.通过类对象调用 Car bcar=new Car(); System.out.println("通过类对象调用carColor="+bcar.carColor); //3.修改 bcar.carColor="yellow"; System.out.println("通过类对象修改后的carColor="+bcar.carColor); System.out.println("通过修改后的carColor后类名调取该变量="+Car.carColor);}}
打印结果:
直接用类名调用carColor=red
通过类对象调用carColor=red
通过类对象修改后的carColor=yellow
通过修改后的carColor后类名调取该变量=yellow
(2)静态方法:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量.
public class Car {//car的颜色用static修饰static String carColor="red";String carSize="A";public static void main(String[] args) { //1.通过类对象调用 Car bcar=new Car(); System.out.println("通过类对象调用的非静态属性carSize="+bcar.carSize);}}打印结果:
通过类对象调用的非静态属性carSize=A
2. 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法.
public class Car {//car的非静态方法public void run(){System.out.println("速度70迈");}public static void fly(){System.out.println("会飞的车");}public static void main(String[] args) { //1.通过类对象调用非静态方法 Car bcar=new Car(); bcar.run(); //2.可直接调用 fly();}}打印结果:
速度70迈
会飞的车
练习:
public class Car { // 定义静态变量score1 static int score1 = 86; // 定义静态变量score2 static int score2 = 92; // 定义静态方法sum,计算成绩总分,并返回总分public static int sum() { return score1+score2;}public static void main(String[] args) { // 调用静态方法sum并接收返回值 int allScore = Car.sum();System.out.println("总分:" + allScore);}}打印结果:
总分:178
3.静态块:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。public class Car {int number;int number2;// 定义静态变量number3 static int number3; // 构造方法public Car() { number=88;System.out.println("number1:" + number);}{number2=99;System.out.println("代码块的number2:" + number2);}static{number3=100;System.out.println("静态代码块的number3:" + number3);}public static void main(String[] args) { //用类对象调用Car car=new Car();System.out.println("number:" + car.number);System.out.println("number2:" + car.number2);System.out.println("number3:" + car.number3);}}
打印结果:
静态代码块的number3:100
代码块的number2:99
构造方法number1:88
number:88
number2:99
number3:100
细心的会发现他们的执行顺序:静态方法->代码块-构造方法
阅读全文
0 0
- JAVA static关键字的使用
- Java static关键字的使用
- java static关键字的使用
- Java static关键字的使用
- java 关键字static 使用
- JAVA关键字final,static的使用
- java中static关键字的使用
- java static 关键字的使用(摘抄)
- java static 关键字的使用(摘抄)
- java中static关键字的使用
- java中static 关键字的使用
- JAVA基础 final、static关键字的使用
- Java中static关键字的使用
- Java中static关键字的使用
- Java中static关键字的使用
- Java关键字final、static的使用总结
- java的Static关键字使用内存图解:
- static关键字的使用
- 助力互联网+ OPPO R7s亮相2015中国移动合作伙伴大会
- python虚拟环境--virtualenv
- 第三方网站微信登录java代码实现
- [转载]一篇很全面的freemarker教程
- 自适应布局
- Java static关键字的使用
- iOS git commit 提交操作
- 建造者模式学习和思考
- LCD1602使用说明
- qt在任意控件上画图
- Basic Data Structure
- 摆放灵活可侧投 极米无屏电视Z4极光众筹金额超千万
- 微信朋友圈可直接下载APP 腾讯应用宝推“微下载”
- 中国电信70亿激励基金推动终端升级 OPPO手机积极参与其中