1为什么main方法是静态的
因为如果一个类定义了main()方法,这个main方法应在类的构造方法之前被调用,可是由于构造方法运行的时候尚未加载的jvm虚拟机中,所以需声明为static
2:静态方法.静态属性怎么调用
类名.静态方法
类名.静态属性
对象名.静态方法
对象名.静态属性
即:静态方法和静态属性,既可以用类名直接调用,也可以用对象调用
3 静态方法只可以被隐藏,而不可以覆盖。当t1为Person类型时,则调用Person类的静态方法,因为静态方法只属于这个类,而当t2类型为Test02时,调用子类的静态方法,当子类没有时,调用父类的方法,这就叫做继承父类的方法了。
-
</pre></li></ol><p></p><pre name="code" class="html"> class Person { static String name, department; public static void printValue() { System.out.println("name is " + name); System.out.println("department is " + department); } } public class Test02 extends Person { static int salary; public static void printValue() { System.out.println("salary is " + salary); } public static void main(String args[]) { Person t1 = new Test02(); t1.printValue(); Test02 t2 = new Test02(); t2.printValue(); } }
-
name is null department is null salary is 0
static修饰属性:单例的,加载到内存中只保存一份,节省内存资源
- 方式一
-
<span style="background-color: rgb(204, 102, 0);">package javaTest; public class Singleton { <span style="white-space:pre"> </span>private Singleton s = new Singleton(); <span style="white-space:pre"> </span>private Singleton(){ <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>public Singleton getInstance(){ <span style="white-space:pre"> </span>return s; <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>} }</span>
-
package javaTest; public class Singleton2 { private Singleton2 s=null; private Singleton2(){ } public Singleton2 getInstance(){ if(s==null){ s=new Singleton2(); } return s; } }
-
-
时间: 2024-10-13 19:52:08