美文网首页
Java编程思想_面向对象之封装

Java编程思想_面向对象之封装

作者: 70fa0b237415 | 来源:发表于2021-01-23 11:47 被阅读0次

    1. 面向对象思想

    面向过程思想:就是把关注点放在一件事或一个活动中涉及到的步骤(也就是过程)上的思想(或思维方式)
    面向对象思想:就是把关注点放在一件事或一个活动中涉及到的人或事物(也就是对象)上的思想(或思维方式)
    面向对象思想的特点:

    • 一种更符合人们思考习惯的思想
    • 把复杂的事物简单化
    • 把人们从执行者变成了指挥者

    面向对象的程序开发就是不断的找对象、使用对象、指挥对象做事情的过程
    面向对象的思想特征:封装、继承、多态

    image.png

    2. 类的定义和使用

    2.1 如何定义一个类

    image.png

    自定义类对象作为参数,属于引用传递,传递的是地址值

    2.2 使用变量的规则

    第一步:TestStudent这个类的字节文件加载到方法区
    第二步:main方法进栈,并从第一行代码开始执行
    第三步:第一行使用Student类创建对象,但内存中没有Student类,所以要把Student类的字节文件加载到方法区,然后在栈里创建一个Student类的引用stu,new会向堆内存申请开辟空间,这块空间来存储Student类的成员变量和成员方法,并有默认值
    第四步:执行main方法的第2和第3行,给成员变量赋值,执行第4行时,调用study方法,所以study方法进栈。

    image.png

    2.3 局部变量与成员变量

    成员变量的位置:类中、方法外
    局部变量的位置:方法的参数列表 或 方法内

    Java中使用变量,采用就近原则,如果局部变量位置有,就使用;没有就去本类的成员位置找,有就使用;没有就去父类的成员位置找,没有就报错

    image.png image.png

    3. 封装

    封装的好处:提高安全性、提高复用性、复杂的事情简单化

    image.png

    3.1 private关键字

    private:是一种访问权限修饰符,用来修饰类的成员
    特点:被他修饰的成员只能在本类中访问

    private一般用来修饰成员变量,public一般用来修饰成员方法

    3.2 this关键字

    表示对本类对象的引用

    4. 构造方法

    构造方法的定义:
    格式
    修饰符 构造方法名(参数列表) {
    // 方法体
    }
    要求
    方法名必须与类名相同
    没有返回值(可以有return)
    没有返回值类型(void也不行)
    注意事项
    若未提供任何构造方法,系统会给出默认的无参构造
    若已经提供任何构造方法,系统不再提供无参构造
    构造方法可以重载

    public class Phone {
        // 构造方法
        // 无参构造
        public Phone () {}
        // 有参构造
        public Phone(String brand, String name) {
            this.brand = brand;
            this.name = name;
        }
        // 定义成员变量
        private String brand;
        private String name;
        // 成员方法
        public void call(String name) {
            System.out.println("给" + name + "打电话");
        }
        public void setBrand(String brand) {
            this.brand = brand;
        }
        public String getBrand() {
            return brand;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getName() {
            return name;
        }
    }
    
    
    public class TestPhone {
        // main方法是程序的主入口
        public static void main(String[] args) {
            Phone p =  new Phone();
            // 给成员变量赋值
            p.setBrand("苹果");
            p.setName("程序猿");
            System.out.println(p.getBrand());
            System.out.println(p.getName());
            // 调用成员方法
            p.call("乔布斯");
            System.out.println("--------------------");
    
            Phone p2 = new Phone("华为", "小明");
            System.out.println(p2.getBrand());
            System.out.println(p2.getName());
        }
    }
    

    5. JavaBean类

    image.png

    相关文章

      网友评论

          本文标题:Java编程思想_面向对象之封装

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