Java基础编程思想——面向对象

为什么要学习面向对象:

方便管理数据,我们可以把描述一个事物的多个数据,放在一个类中,创建对应的对象,就可以把这些数据封装到对象中

面向对象的构成:

类的组成:

成员变量:

用于存储对象数据的变量,在类中声明

成员方法:

定义在类中的函数或方法,用于操作对象的状态和执行特定的任务

案例:

package Outwork;
​
public class Student {
    // 下列变量为成员变量
    int Studentnumber;
    String Studentname;
    double Studentscore;
    // 成员方法
    public void Getscore(int MinimumPassingScore) {
        if (Studentscore >= MinimumPassingScore) {
            System.out.println("恭喜" + Studentname + "考试通过,即将上大学!");
        } else {
            System.out.println("没有通过,等待补录");
        }
    }
    // 空参构造器
    public Student() {
​
    }
    // 满参构造器
    public Student(double Studentscore, int Studentnumber) {
        this.Studentnumber = Studentnumber;
        this.Studentscore = Studentscore;
    }
}

对象的使用:

创建对象的格式:

类名 变量名 = new 构造器();

如:

Student name = new Student();
访问成员变量:

变量名.成员变量

如:

name.成员变量名
访问成员变量方法:

变量名.方法名();

如:

name.getName();

一个特殊变量—this :

this的概念:

this 是一个关键字,用于在一个对象的内部引用当前对象自身。

具体使用如下:

public class Person {
    private String name;
​
    public void setName(String name) {
        // 使用 this 关键字引用成员变量,被赋值的name为成员变量name而不是使用参数中的name
        this.name = name; 
    }
}
public class Person {
    private String name;
    private int age;
​
    public Person setName(String name) {
        this.name = name;
        return this; // 返回当前对象(一般为成员变量)的引用
    }
​
    public Person setAge(int age) {
        this.age = age;
        return this; // 返回当前对象(一般为成员变量)的引用
    }
}

构造器:

作用:

创建对象,并且初始化成员变量

使用场景: 创建对象的时候。 就是在new 的时候

格式:
public 类名(){ // 该构造器为空参构造器
​
}

注意事项: java会默认给我们提供一个无参的构造器;但如果我们写上了构造器,系统就不会给我们提供默认的了。建议无参与满参构造器都要写上

标准JavaBean:

概念:

标准的 JavaBean 是指遵循特定规范的 Java 类,用于封装数据和提供访问该数据的方法

作用:

标准 JavaBean 是为了实现封装和提供可重用、可移植的数据封装类

get/set方法:
get:

获取属性值

set:

修改属性值/赋值

代码如下:

package Outwork;
​
public class Demo01 {
    // 私有化变成员量,不能在其它类直接调用
    private String name;
    private double height;
    private double weight;  
    // 满参构造器
    public Demo01(String name,double height,double weight){
            this.name = name;
            this.height = height;
            this.weight = weight;
    }
    // 返回name的值
    public String getName() {
        return name;
    }
    // 对name进行赋值
    public void setName(String name) {
        this.name = name;
    }
​    // 返回height的值
    public double getHeight() {
        return height;
    }
​    // 对height进行赋值
    public void setHeight(double height) {
        this.height = height;
    }
​    // 返回weight的值
    public double getWeight() {
        return weight;
    }
​    // 对weight进行赋值
    public void setWeight(double weight) {
        this.weight = weight;
    }
}

成员变量和局部变量:

定义位置:

成员变量:类中方法外

局部变量:方法中

内存位置:

成员变量:堆内存中

局部变量:栈内存中

初始化值:

成员变量:有

各类型初始化值如下:

byte, short, int, long :0

float,double :0.0

boolean :false

char : null

局部变量:没有初始化值

作用域:

成员变量 :整个类中

局部变量: 当前方法中

生命周期:

成员变量:随着对象的创建而创建,随着对象的消失而消失

局部变量:随着方法的调用而创建,随着方法的消失而消失

public class VariableExample {
    // 成员变量
    private int memberVariable;
​
    public void method() {
        // 局部变量
        int localVariable = 10;
        
        // 访问成员变量和局部变量
        System.out.println("成员变量值:" + memberVariable);
        System.out.println("局部变量值:" + localVariable);
        
        // 赋值局部变量localVariable为20
        localVariable = 20;
        
        // 修改成员变量 memberVariable 的值为 30
        memberVariable = 30;
    }
}

面向对象案例:

public class Teacher {
    private String name;
    private int age;
    private String subject;
    // 满参构造器
    public Teacher(String name, int age, String subject) {
        this.name = name;
        this.age = age;
        this.subject = subject;
    }
​
    public String getName() {
        return name;
    }
​
    public int getAge() {
        return age;
    }
​
    public String getSubject() {
        return subject;
    }
​
    public void teach() {
        System.out.println("Teaching " + subject);
    }
​
    public void introduce() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Subject: " + subject);
    }
}
​
public static void main(String[] args) {
        // 利用满参构造器对new出来的新对象进行属性赋值
        Teacher teacher1 = new Teacher("John Doe", 35, "Mathematics");
        Teacher teacher2 = new Teacher("Jane Smith", 40, "English");
        // 调用类中方法
        teacher1.introduce();
        teacher1.teach();
​
        teacher2.introduce();
        teacher2.teach();
    }

在上面的代码示例中,定义了一个教师类(Teacher),它具有以下属性和行为:

  • 属性:

    • name:教师的姓名
    • age:教师的年龄
    • subject:教授的学科
  • 构造方法:

    • Teacher(String name, int age, String subject):用于初始化教师对象的属性。
  • 方法:

    • getName():返回教师的姓名。
    • getAge():返回教师的年龄。
    • getSubject():返回教师教授的学科。
    • teach():打印教师正在教授的学科。
    • introduce():打印教师的姓名、年龄和学科信息。

在 main 方法中,创建了两个教师对象 teacher1 和 teacher2,并使用这些对象调用了类中定义的方法。

这个案例中展示了一个简单的面向对象示例,其中通过创建教师类和使用对象实例来表示和操作教师对象。该例子体现了面向对象编程的封装、继承和多态等概念,以及类和对象的基本用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值