首页 > 其他 > 详细

static关键字详细解答

时间:2021-05-31 00:14:10      阅读:21      评论:0      收藏:0      [点我收藏+]
 1 //static
 2 public class staticDemo {
 3     private static int age; //静态的变量
 4     private double score; //非静态的变量
 5 
 6 
 7     public static void main(String[] args) {
 8         staticDemo  a = new staticDemo();
 9         System.out.println(a.score);
10         System.out.println(a.age);//要先利用new关键字创建对象,然后再分别进行调用 age与score
11         System.out.println(staticDemo.age);  //能够调用的原因是因为:字段里面含有static关键字,静态变量调用静态变量
12         System.out.println(staticDemo.score); //报错原因是因为:静态变量不能调用字段里面的非静态变量
13         //  1.有静态变量的推荐使用类名.方法———> eg:staticDemo.age
14         //  2.静态变量对于类,所有对象(实例)所共享,当直接使用类去调用得到说明这个变量是静态的
15         //  3.注意被final(final为常量修饰符)定义了,就不能被复制了继承,相当于没有后代了
16     }
 1 public class staticDemo {
 2     private static int age; //静态的变量,随着类一起加载而加载到内存中
 3     private double score; //非静态的变量,随着对象的创建而加载到内存中
 4 
 5     public void run(){
 6         go(); // 非静态方法可以调用静态方法里面的所有东西
 7     }
 8     public static  void go(){
 9             // 静态方法只能调用静态方法里面的所有东西,而不能调用非静态方法。
10     }
11     public static void main(String[] args) {
12         new staticDemo().run(); // 必须new出这个对象再调用里面的方法,通过 对象.方法而来
13         staticDemo.go();
14         go();// go方法中有static关键字所以可以直接写go方法,省略staticDemo类名

执行代码如下:

技术分享图片

 

 

 1 package com.chen.StaticDemo;
 2 
 3 import static java.lang.Math.random;
 4 import static java.lang.Math.PI;
 5 
 6 public class Test {
 7     public static void main(String[] args) {
 8         // System.out.println(Math.random()); 没写之前需要Math.random()
 9         System.out.println("random()"); //写了之和可以直接用random()原因是:import static java.lang.Math.random;
10         System.out.println(PI);
11     }
12 }

 

static关键字详细解答

原文:https://www.cnblogs.com/chenti/p/14829214.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!