zoukankan      html  css  js  c++  java
  • 7.11LJY

     作业 day08


    一.面向对象

    1:局部变量和成员变量的区别?
        1.局部变量在方法上和方法中,成员变量是在类中,方法外声明的;
        2.局部变量是随方法的调用创建进入栈内存中;成员变量随对象的创建是加载在堆内存;
        3.局部变量随方法的调用而存在,调用结束而消失;成员变量则是在创建对象时就调用,随对象消失而消失;
        4.成员变量有默认初始化值;局部变量没有,必须定义赋值才能使用;

    2:匿名对象是什么?应用场景是什么?
    没有名字的对象;仅仅调用一次的时候;
    3:封装是什么?java中封装的体现有哪些?请举例说明。
     是指隐藏对象的属性和实现细节,仅对外提供公共访问方式;
    如使用private 进行封装;
    class Student {
        private int age ;
        private String name;
        
        public void setAge(int age) {
            this.age = age;

            
        }

        public void setName(String name) {
            this.name = name;
            
        }

        public int getAge() {
            return age;
        
        }

        public String getName() {
            return name;
            
        }

        public void run() {
            System.out.println("好好捣蛋");
                
        }
    }如上,在student类外无法直接调用成员变量age 和name
    但是提供了getXxx 和setXxx来对其进行访问和设置;


    4:this关键字是什么?this关键字的应用场景?
    用于局部变量与成员变量重名的时候;
    用this.变量名可以表示成员变量

    5:如何使用一个类的成员
    先创建对象
    类名 对象名 = new 类名();
    如 Phone p1 = new Phone(); //创建一个对象为p1
     使用成员方法 
    对象名.方法名();
    p1.function();
    使用成员变量
    对象名.变量;
    p1.brand;


    ========================================================
    ========================================================

    二. 内存图

    画图操作:

    1.一个对象的内存图



    2.两个对象的内存图


    3.三个引用两个对象的内存图



    ========================================================
    ========================================================

    三. 自定义类

    Student 类

    Phone 类

    Car 类

    class Test1 {
        public static void main(String[] args) {
            Student s1 = new Student();
            s1.setAge(18);
            s1.setName("raruto");
            System.out.println(s1.getName() + "..." + s1.getAge());
            s1.run();

            Car c1 = new Car();
            c1.brand = "碰碰车";
            c1.carNum = 666666;
            System.out.println(c1.brand + "--" + c1.carNum);
            c1.run();

            Phone p1 = new Phone();
            p1.setBrand("山寨iphone");
            p1.setPrice(998);
            System.out.println(p1.getBrand() + "___" + p1.getPrice());
            p1.function("死机");


        }
    }

    //Student 类Phone 类Car 类

    class Student {
        private int age ;
        private String name;
        
        public void setAge(int age) {
            this.age = age;

            
        }

        public void setName(String name) {
            this.name = name;
            
        }

        public int getAge() {
            return age;
        
        }

        public String getName() {
            return name;
            
        }

        public void run() {
            System.out.println("好好捣蛋");
                
        }
    }

    class Car {
        String brand;
        int carNum;
        public void run() {
            System.out.println("翻车了翻车了");
        }

    }

    class Phone {
        String brand;
        int price;

        public void setBrand(String brand) {
            this.brand = brand;
        
        }

        public String getBrand() {
            return brand;
        
        }

        public void setPrice(int price) {
            this.price = price;
        
        }

        public int getPrice() {
            return price;
        
        }

        public void function(String func) {
            System.out.println(func);
        
        }
    }

      

  • 相关阅读:
    linux基础
    Jscript复选框
    Java 常用的几个算法(菜鸟初学)
    Hello World!
    调用快递鸟接口实现丰密面单打印 顺丰隐私面单 C#版
    快递单号智能识别API接口
    快递鸟开放平台API对接新手指南 极兔速递为例
    打印顺丰快递电子面单步骤 快递鸟教程
    打印京东电子面单步骤 快递鸟教程
    如何使用快递鸟打印顺丰电子面单
  • 原文地址:https://www.cnblogs.com/lijuenyi/p/9293204.html
Copyright © 2011-2022 走看看