java中的局部变量与成员变量

来源:互联网 发布:算法第四版中文电子书 编辑:程序博客网 时间:2024/06/06 00:41

1.成员变量是是在类中定义的,而局部变量是在方法中定义的;

2.java会给成员变量赋初始值,但不会给局部变量赋初始值

3.局部变量的优先级高

4.无参的构造方法可以创建对象,有参的构造方法也可以创建对象

Telphone phone=new Telphone();
Telphone phone1=new Telphone(5.0f,4.5f,3.4f);

还可以判断传值是否安全

public Telphone(float newscreen,float newcpu,float newmem){
if(newscreen<3.5f){
System.out.println("你输入的参数是不合理的");
screen=3.5f;}
else{
screen=newscreen;}
cpu=newcpu;
mem=newmem;
System.out.println("有参的构造方法执行了");

5.Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享

静态成员可以用类名直接访问,也可以用对象名进行访问。


与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法

public static void print(){ }

静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。



如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:



 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示



 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:



public static int sum() { 
      return score1+score2;
}

静态方法中调用静态方法

int allScore = HelloWorld.sum();

        int allScore = sum();

类名.sum()


同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量


程序运行结果:



程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。


1 0
原创粉丝点击