Java学习笔记第15期——Java 面向对象 Part1

Java学习笔记第15期——Java 面向对象 Part1

有关笔记分享的博客中,我都会将md文件下载链接附上,不想在CSDN下载的朋友可以去我独立博客里MileStone中的链接下载
本期下载链接:https://download.csdn.net/download/lbwnbnbnbn/16794968

前言

在之前的学习中,我们学习了Java的一些基础语法,这篇文章我们就来学习Java语言的一个难点——面向对象(OOP)

什么是面向对象?

Java是一种面向对象的编程语言。面向对象编程,英文是Object-Oriented Programming,简称OOP。

如果你以前没有接触过面向对象的编程语言,那可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习 Java 的面向对象编程

Java作为一种面向对象语言,支持以下基本概念:

  • 多态

  • 继承

  • 封装

  • 抽象

  • 对象

  • 实例

  • 方法

  • 重载

回归正题。

现实世界中,我们定义了“人”这种概念,而具体的人有“Linus”、“MJ”、“川普”等一个个具体的人。所以,“人”可以视作为一个类(class),而具体的人就是实例(instance)

现实世界计算机模型代码
人間class Person { }
Linus实例Person linus = new Person()
MJ实例Person mj = new Person()
川普实例Person trump = new Person()

emmmmm

看完这张图应该就明白类,实例,和对象的关系了

所以,只要理解了类和实例的概念,基本上就明白了什么是面向对象编程。

定义类

class Person {
    public String name;
    public int age;
}

一个class可以包含多个字段(field),字段用来描述一个类的特征,也就是上面那张图的Property。上面的,我们定义了两个field,一个是String类型的,命名为name,另一个是int类型的命名为age。通过class,把一组数据汇集到一个对象上,实现了封装

class前面可以加上publicpublic是用来修饰字段的,它表示这个字段可以被外部访问。与其对应的是private,之后细讲

记得之前提到的String类型吗?这就是JDK源码中定义的类型。定义class其实就是定义了一种数据类型。

创建实例

如果要根据对象创建出对象实例,就得用new操作符。(就是常说的new一个对象[doge] )

拿懂王举例子:

Person trump = new Person();

上述代码创建了一个Person类型的实例,并通过变量trump指向该实例。

有了trump这个变量,我们就可以操作这个实例:

/* main方法啥的就省了哈 */
Person trump = new Person();
trump.name = "Donald Trump"; // 对field name赋值
trump.age = 74; // 对field age赋值
System.out.println(trump.name); // 访问field name

            ┌─────────────────────┐
trump ─────>│Person instance      │
            ├─────────────────────┤
            │name = "Donald Trump"│
            │age = 74             │
            └─────────────────────┘

每个instance拥有class定义的name和age字段,且各自都有一份独立的数据,互不干扰。就像两只狗类,每只狗有各自的毛发颜色,品种。

小结

定义class就是定义了一种数据类型,对应的instance是这种数据类型的实例;

class定义的field,在每个instance都会拥有各自的field,互不干扰;

通过new操作符创建instance,然后让一个变量指向它,即可通过变量来引用这个instance

访问实例字段的方法是变量名.字段名;

指向instance的变量都是引用变量。

時辛丑年叁月拾日
寫於公元貳零貳壹年肆月貳拾壹日
The end
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值