美文网首页
java基础知识第十五天

java基础知识第十五天

作者: 牛倩贱 | 来源:发表于2018-10-31 22:33 被阅读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)进行操作,另一个都会受到影响

    相关文章

      网友评论

          本文标题:java基础知识第十五天

          本文链接:https://www.haomeiwen.com/subject/niyztqtx.html