java基础知识第十五天

2018-10-31  本文已影响0人  牛倩贱

1.一个程序class文件只有一个,但对象可以有多个,对象共用方法区。

2.成员变量和局部变量的区别

        (1).再类中的位置不同

                    成员变量:类中,方法外

                    局部变量:方法中或方法声明上(形式参数)

例:public  class  Variable{  //类

    int  x; //成员变量

      public  void  show(){    // 方法

            int  y;//局部变量

(2).在内存中位置不同

            成员变量:堆内存

            局部变量:栈内存

(3).生命周期不同

        成员变量随着对象的创建而存在,随着对象的消失而消失。

        局部变量随着方法的调用而存在,随着方法调用的完毕而消失。

(4).初始化值不同

        成员变量:有默认值

        局部变量:无默认值,必须先定义,赋值,最后使用。

3.Private关键字的使用

        private:是一个修饰符

                可以修饰成员变量,也可以修饰成员方法;被private修饰的成员只能在本类中被访问。

针对private修饰的成员变量,我们会提供getXxx()和setXxx()用于获取和设置成员变量值,方法用public修饰。

例:public class Student {

private  String name;

private int  age;

public void setName(String n){

name=n;

}

public String getName(){

return name;

}

public void setAge(int a){

age = a;

}

public int getAge(){

return age;

}

}

----------------------------------------------------------------------------------------------------------------------------------------------

public class StudentDemo {

public static void main(String[] args) {

Student s = new Student();

s.setName("原宇浩");

s.setAge(19);

System.out.println(s.getName()+"------"+s.getAge());

}

}

4........两个引用同时指向一个堆内存

        public class Phone {

public static void main(String[] args) {

//创建对象

Phone_lei p = new Phone_lei();

//调用成员变量

p.name = "华为";

p.color = "星耀黑";

p.price = 6999;

System.out.println("品牌:"+p.name);

System.out.println("颜色:"+p.color);

System.out.println("价格:"+p.price);

//调用成员方法

p.call("傻小子");

p.SendMassage();

p.PlayGame();

System.out.println("---------------");

//两个引用指向同一个对象

Phone_lei p2 = p;

p2.name = "三星";

p2.color = "深空灰";

p2.price = 5999;

System.out.println("品牌:"+p.name+"颜色:"+p.color+"价格:"+p.price);

System.out.println("品牌:"+p2.name+"颜色:"+p2.color+"价格:"+p2.price);

p2.call("傻小子");

p2.SendMassage();

p2.PlayGame();

}

}

//两个引用同时指向一个堆内存那么无论哪个对堆内存(new Phone)进行操作,另一个都会受到影响

上一篇 下一篇

猜你喜欢

热点阅读