JAVA basic knowledge points-java object-oriented programming thinking

Knowledge points

/**
    目标:知识回顾。

    面向对象:
        用代码去高度模拟现实世界,以便为人类的业务服务。
        Java是一种面向对象的高级编程语言。
        高级编程语言:代码风格很像人类的自然语言。
        zhubajie.eat("西瓜");
    面向对象最重要的两个概念:类和对象。

    类:是描述相同事物的共同特征的抽象。 人类。
    对象:是具体存在的实例,是真实的。  实例==对象。

    在代码层面:必须先有类,才能创建出对象。

    定义类的格式:
        修饰符 class 类名{
            // 1.成员变量(Field:描述类和对象的属性信息的).
            // 2.成员方法(Method:描述类或者对象的行为信息的)
            // 3.构造器(Constructor:初始化一个类的对象并返回引用)
            // 4.代码块
            // 5.内部类
        }
        注意:
           -- 类名的首字母应该大写,满足“驼峰写法”。
           -- 一个Java代码文件中可以定义多个类。但是只能有一个类
             是用public修饰的,而且public修饰的类名必须成为代码的文件名称。

    类中的成分研究:
        类中有且仅有五大成分(五大金刚)
        1.成员变量(Field:描述类和对象的属性信息的).
        2.成员方法(Method:描述类或者对象的行为信息的)
        3.构造器(Constructor:初始化一个类的对象并返回引用)
        4.代码块
        5.内部类
        注意:只要不是这5大成分放在类下就会报错.

    构造器的复习:
        作用:初始化一个类的对象并返回引用。
        格式:
            修饰符 类名(形参){

            }
        构造器初始化对象的格式:
            类名 对象名称 = new 构造器;
        注意:一个类默认会自带一个无参数构造器,即使不写它也存在,但是如果一个类
            它写了一个构造器,那么默认的无参数构造器就被覆盖了!!
    小结:
        类的5大成分
        构造器的作用。

 */
public class ClassDemo01 {
    
    
     // System.out.println("helloWorld");
     public static void main(String[] args) {
    
    
         Student s1 = new Student();
     }
}

class Student{
    
    

}

Encapsulation

/**
    目标:封装的复习回顾。

    面向对象的三大特征:封装,继承,多态。

    封装的哲学思维:合理隐藏,合理暴露。
    封装最初的目的:提高代码的安全性和复用性,组件化。
    封装的步骤:
        1.成员变量应该私有。用private修饰,只能在本类中直接访问。
        2.提供成套的getter和setter方法暴露成员变量的取值和赋值。

    封装实际上已经成为了Java的代码规范,即使代码毫无意义我们还是要这样写。

 */
public class ClassDemo02 {
    
    
    public static void main(String[] args) {
    
    
        Person p = new Person();
        p.setAge(10);
        System.out.println(p.getAge());
    }
}

class Person{
    
    
    private int age ;

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }
}

The concept of encapsulation

/**
    目标:封装的概念回顾。

    面向对象的三大特征:封装,继承,多态。
    是Java语言的风格。是我们在开发中必须遵循的,即使毫无意义,代码还是要按照这个风格写!!

    封装的作用:
        1.可以提高安全性。
        2.可以实现代码的组件化。

    封装的规范:
        1.建议成员变量都私有:用private修饰。
           private修饰的方法,成员变量,构造器等只能在本类被直接访问。
        2.提供成套的getter+setter方法暴露成员变量的取值和赋值。
           public修饰符,是公开的意义。
    小结:
        封装的核心思想:合理隐藏,合理暴露。
        封装已经成为Java代码的风格,即使代码毫无意义,还是要按照封装的规范写代码。
            成员变量私有,提供getter+setter方法。

 */
public class Package03 {
    
    
    private String name;
    private int age ;

    public Package03() {
    
    
    }

    public Package03(String name, int age) {
    
    
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
    
    
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
    
    
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
    
    
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
    
    
        this.age = age;
    }

}

this keyword

/**
    目标:this关键字知识回顾。

    this关键字的作用:
        this代表了当前对象的引用。
        this关键字可以用在实例方法和构造器中。
        this用在方法中,谁调用这个方法,this就代表谁。
        this用在构造器,代表了构造器正在初始化的那个对象的引用。
 */
public class ThisDemo02 {
    
    
    public static void main(String[] args) {
    
    
        Animal a1 = new Animal();
        a1.setName("金毛");
        System.out.println(a1.getName());

        Animal a2 = new Animal("泰迪",3,'公');
        System.out.println(a2.getName());
    }
}

class Animal{
    
    
    private String name;
    private int age ;
    private char sex ;

    public Animal() {
    
    
    }

    public Animal(String name, int age, char sex) {
    
    
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
    
    
        return this.name;  // a1.name  this有时候可以省略不写!!
    }

    /**
     * 设置
     * @param name
     *  a1.setName("金毛");
     */
    public void setName(String name) {
    
    
        // 谁调用这个方法,this就代表谁!!!
        this.name = name; //  a1.name = 金毛
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
    
    
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
    
    
        this.age = age;
    }

    /**
     * 获取
     * @return sex
     */
    public char getSex() {
    
    
        return sex;
    }

    /**
     * 设置
     * @param sex
     */
    public void setSex(char sex) {
    
    
        this.sex = sex;
    }

}

Use of this keyword

/**
    目标:this关键字的使用总结。

    this关键字代表了当前对象的引用。
    this可以出现在方法,构造器中。
    this出现在方法中:哪个对象调用这个方法this就代表谁。
    this可以出现在构造器中:代表构造器正在初始化的那个对象。
    this可以区分变量是访问的成员变量还是局部变量。
 */
public class ThisDemo03 {
    
    
    public static void main(String[] args) {
    
    
        Pig pig = new Pig();
        pig.setName("佩奇");
        pig.setAge(1);
        System.out.println(pig.getName());
        System.out.println(pig.getAge());

        Pig qiaoZhi = new Pig("乔治",2);
        System.out.println(qiaoZhi.getName());
        System.out.println(qiaoZhi.getAge());
    }
}

class Pig{
    
    
    private String name ;
    private int age ;

    public Pig(){
    
    

    }

    public Pig(String name, int age) {
    
    
        // this在构造器代表构造器正在初始化的那个对象。
        this.name = name; // qiaoZhi.name = 乔治
        this.age = age; // qiaoZhi.age = 2
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        // 哪个对象调用方法,this就代表谁。
        this.name = name; // pig.name = 佩奇
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }
}

Guess you like

Origin blog.csdn.net/weixin_42137874/article/details/115290620