Java——面向对象初体验

前言:

首先我们来介绍以下面向对象的特点:
面向对象程序设计,我们关心的主要是对象,与面向切面程序设计的不同之处就是,我们自身不需要去"干活",而是将"活"委托给对象。
Java正是这一种语言,这将降低了我们的学习难度。

面向对象的三大特征

  • 继承
  • 封装
  • 多态

一、类

简述:
类是构造对象的蓝图或者所是模板。例如:Person类 包含了人的相同属性–姓名、年龄、身份证等等等。
类构造对象的过程就称为创建类的实例 也就是我们所说的对象

类与类之间的关系:

  • 依赖 : 这是一种常见的关系,例如:某一个对象需要依赖另一个对象才能完成业务逻辑的整体开发,软件工程的术语称为耦合
  • 聚合 : 这种关系也很好理解(has - a),例如:一个Order(订单)对象包含一个Item(一种商品)对象
  • 继承 : A继承B – A将继承B中的属性和行为,并且还能扩展自身的行为。

类的定义格式:
修饰符 class 类名{

}
注意:类的首字母必须大写,修饰符我们用public修饰。

类的成分:

  • 成员变量(属性) : Field 用于描述类和对象的属性
  • 成员方法 : Method 用于描述对象的行为
  • 构造方法 : Constructor 用于初始化类并返回一个对象引用
  • 代码块
    ①静态代码块
    ②实例代码块
  • 内部类

二、构造器

构造器的定义方式:

修饰符 与类名一致(){

}

作用 : 初始化一个类的对象并返回引用

构造方法初始化对象的格式:

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

注意:

一个类默认拥有一个无参构造,不写也存在,但是如果一个类写了一个带参数构造方法,

那么默认的无参构造就会被覆盖,所以我们应该手写无参构造。

三、封装

概念:

封装又可以称为数据隐藏。

从现象来看,就是将数据和行为隐藏在一个包中,并对对象的使用者进行隐藏具体的实现方式。

对象中的属性称为实例属性,操作数据的行为称为实例方法。

实现封装的过程就在于,适当隐藏,合理暴露,也就是说不能让其他类直接访问属性。只能通过对象的方法与之进行交互。

这就让我们的开发者更加关注于对象,而不是类本身。

四、对象

对象的三个特征

  • 行为:也就是说可以操作对象完成对应的操作
  • 状态:当调用方法时,对象会如何响应。
  • 标识: 用于区分具有相同行为但状态不一样的对象

①Student类

public class Student {
    //成员属性
    private int id;
    private String name;
    private String sex;

    //无参构造
    public Student() {
        System.out.println("这是无参构造方法");
    }

    //带参构造
    public Student(int id, String name, String sex) {
        this.id = id;
        this.name = name;
        this.sex = sex;
    }

    //get set方法 初学者建议手写
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
    //写作业方法
    public void writer(){
        System.out.println(this.name + "写作业");
    }

    //toString() 显示我们对象属性的输出格式
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

②测试学生类实例化

public class TestStudent {
    public static void main(String[] args) {
        //无参构造初始化对象
        Student s1 = new Student();
        System.out.println(s1);

        //带参构造初始化对象
        Student s2 = new Student(1,"张三","男");
        System.out.println(s2);
    }
}

五、this

this关键字

作用:

  • this代表了当前对象的引用
  • this关键字可以用在实例方法和构造器中
  • this用在方法中,谁调用这个方法,this就代表谁
  • this用在构造方法中,代表了构造方法正在初始化的那个对象的引用
public class TestStudent {
   public static void main(String[] args) {
       //1.创建对象
       //1.1无参构造初始化对象
       Student s1 = new Student();
    //通过set方法来赋值
       s1.setId(1);
       s1.setName("张三");
       s1.setSex("男");
       System.out.println(s1);

       //1.2带参构造初始化对象
       Student s2 = new Student(2,"李四","男");
       System.out.println(s2);

       //对象调用方法 通过 对象名称.方法名() ——测试this关键字的引用问题
       s1.writer();
       s2.writer();
   }
}

在这里插入图片描述

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Philosophy7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值