小C的第一宇宙
wangc
Jan 24, 2020
阅读本文需要 5 分钟(按字数)

java—面向对象基础

1.面向对象思想

  • 面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每个细节。
  • 面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的类,来帮我做事儿。

2. 类和对象

  • 类是对一类事物的描述,是抽象的
  • 对象是一类事物的实例,是具体的
  • 类是对象的模板,对象是类的实体
  • 成员变量:对应事物的属性;成员方法:对应事物的行为

3. 封装性

  • private:间接访问private成员变量,就是定义一对儿Getter/Setter方法
  • this:即谁在调用,this就代表谁。
  • 构造方法:当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。

4. 标准的类

一个标准的类通常要拥有下面四个组成部分:

  1. 所有的成员变量都要使用private关键字修饰
  2. 为每一个成员变量编写一对儿Getter/Setter方法
  3. 编写一个无参数的构造方法
  4. 编写一个全参数的构造方法 这样标准的类也叫做Java Bean

5. 代码实例

类的创建

public class Student {
    //**************成员变量***************
    private String name;
    private int age;
    private boolean male;

    //**************成员方法***************
    public void study() {
        System.out.println("学习中...");
    }
    public void sayHello(String name) {
        // this
        System.out.println(name + ",你好!我是" + this.name);
    }

    // 构造方法,创建对象时使用的方法,注意格式
    // 可以再创建对象时执行操作
    public Student() {
        System.out.println("无参构造方法已执行");
    }
    public Student(String name, int age) {
        System.out.println("含参构造方法已执行");
        this.name = name;
        this.age = age;
    }

    // 通过定义setter/getter方法,间接访问成员变量
    // 防止不合理的数据被随意访问
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public void setMale(boolean male) {
        this.male = male;
    }
    //bool类型变量用isxxx
    public boolean isMale() {
        return male;
    }
}

类的使用

public class StudentUse {
    public static void main(String[] args) {
        Student stu = new Student("小光", 13);
        stu.sayHello("小王");
        stu.setAge(23);
        System.out.println("我现在" + stu.getAge() + "岁了。");
    }
}