Java基础:面向对象编程基础(OOP)

本文介绍Java面向对象的基本概念,包括类与对象的定义、构造器的作用及使用、this关键字的功能,以及封装的概念与实践方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初阶

一、面向对象的思想

1.面向:拿或者找
2.对象:东西
3.面向对象编程:拿或者找东西过来编程解决问题
4.面向对象:把现实世界中的事物全部看成一个一个的对象来解决问题的
5.面向对象的好处:代码符合人类的思维习惯,编程程序更简单,看程序更容易理解

二、类、对象

1.类(设计图):相同事物共同特征的描述
2.对象:对象是类的具体的实例—对象==实例
3.在JAVA中必须先定义类,才能得到对象

三、定义类来创建对象的使用

1.定义类的格式

public class 类名{
    1.成员变量(代表属性,一般是名词):数据类型 名称
    2.成员方法(代表行为,一般是动词)
    3.构造器()
    4.代码块()
    5.内部类()
}

2.注意事项

1.类名首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标识符
2.一个Java文件中可以定义多个类,但是只能用private修饰,而且public修饰的类名必须成为Java代码的文件名称,否则报错

3.类的具体案例

成员变量不建议给初始化值,存在默认值,默认值的规则:整型(int)是0,浮点型(double)是0.0,引用类型(String)是null,布尔型(bool)是false

public class Stu {
    //成员变量
    String name;//数据类型 变量名 = 初始值
    int age;
    //成员方法
    public void study(){
        System.out.println("好好学习");
    }
    public void Homework(){
        System.out.println("做作业");
    }
}

5.创建对象

类名 对象名 = new 构造器();

        //创建对象
        Stu s = new Stu();
        //使用成员变量
        s.name = "RED";
        s.age = 15;

        System.out.println(s.name+","+s.age);
        //使用成员方法
        s.study();
        s.Homework();

四、构造器

作用:初始化一个类的对象,并返回这个对象的地址
格式:修饰符 类名(形参){……}
分类:
无参数构造器:初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值
有参数构造器:初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值
构造器的调用:类名 对象名 = new 构造器;
注意:1.任何类写出来自一个无参数的构造器,写不写都有
2.如果在这个类中定义了一个有参数构造器了,那么无参数构造器就消失了,此时,如果还要使用无参数构造器,你必须自己写一个

五、this关键字

作用:代表了当前对象的地址,可以访问当前对象的成员变量和成员方法
this可以用在有参数构造器中/可以用在方法中

//有参数构造器中
public Stu(String name, int age) {
    this.name = name;
    this.age = age;
}
//方法中
public void seatWith(String name){
    System.out.println(this.name + "和" + name + "为同桌");
}

六、面向对象三大特征之一:封装

决定属性和行为归属谁的问题
1.更好地封装:成员变量建议private私有化,只能本类访问,提高程序的安全性
2.合理暴露:提供成员成套的getter和setter方法暴露取值和赋值(利用Alt+Insert可自动生成)
3.增强系统的可维护性

七、标准JavaBean

是实体类(学生类,老师类,汽车类,票类)
作用:创建对象,封装数据的
标准Bean书写要求:
1.必须提供无参数构造器
2.更好地封装:成员变量建议private私有化,只能本类访问
3.合理暴露:提供成员成套的getter和setter方法暴露取值和赋值(利用Alt+Insert可自动生成)

//创建一个电影类
public class movie {
    //1.成员变量
    private String name;
    private double score;
    private String director;
    //无参数构造器
    public movie() {
    }
    //有参数构造器
    public movie(String name, double score, String director) {
        this.name = name;
        this.score = score;
        this.director = director;
    }
    //2.getter&setter
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }
    public String getDirector() {
        return director;
    }
    public void setDirector(String director) {
        this.director = director;
    }
}

进阶(待更新)

static关键字

面向对象三大特征之二:继承

语法(包、权限修饰符、常量……)

面向对象三大特征之三:多态

内部类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值