java中的类和对象(重点)超详细

java中的类和对象

1、类与对象的初步认知

2、类和对象的实例化

3、类的成员

3.1、字段,属性,成员变量
3.2、方法
3.3、static 关键字
3.4、小结

4、封装

4.1、private实现封装
4.2、getter 和 setter方法

5、构造方法

5.1、基本方法
5.2、this 关键字

6、认识代码块

6.1、什么是代码块
6.2、普通代码块
6.3、构造代码块
6.4、静态代码块

7、匿名对象

1、类与对象的初步认知

在这里插入图片描述
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。
面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来
面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来
面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来 面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱所具备的功能,都要定义在冰箱中。

【面向对象概念】
1.面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等
2.类就是一类对象的统称。对象就是这一类具体化的一个实例。
3.面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行

简而言之
面向对象就是用代码(类)来描述客观世界的事物的一种方式. 一个类主要包含一个事物的属性和行为

2、类和对象的实例化

类就是一类对象的统称。对象就是这一类具体化的一个实例。
简单的例子:我们做月饼的模子就是一个类,而通过这个模子可以做出月饼,那么在这个例子当中,类就是那个模子,而月饼就是那个对象,所以月饼就是一个实体。一个模子可以实例化无数个对象。
总的来说:类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。

我们来看以下简单的声明一个类

class TestStu{
   
    public String name;//成员变量,属性,字段
    public int age;//成员变量,属性,字段
	public void add(){
   
        System.out.println("这是一个方法");
    }
}
public class TestDome {
   
    public static void main(String[] args) {
   
        TestStu teststu = new TestStu();
        System.out.println(teststu.name);
    }
}

class表示类的关键字,TestStu表示类的名字,name 和 age 表示类的成员变量
类中的元素称为:成员属性。类中的函数称为:成员方法
在这里插入图片描述
在这里插入图片描述
对于成员变量
在这里插入图片描述
给成员变量赋值
在这里插入图片描述
方法的区分
在这里插入图片描述
在这里插入图片描述

注意事项

和之前写的方法不同, 此处写的方法不带 static 关键字. 后面我们会详细解释 static 是干啥的

TestStu teststu = new TestStu(); 表示实例化一个对象 ,teststu 这个引用指向了 new TestStu()这个对象,这个对象里有name 和 age 这两个属性。

类的实例化
用类类型创建对象的过程,称为类的实例化

  1. 类只是一个模型一样的东西,限定了类有哪些成员.
  2. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
  3. 做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间

在这里插入图片描述
类相当于一类东西具有相同的属性,特点的东西:比如说
一辆宝马车(这是一个对象),一辆奔驰(这是一个对象),他们都能做人,都有灯,都有座椅(这就是他们具有的相同的属性),当然也有对于另一个对象没有的属性(比如说,宝马车有天窗,而奔驰车没有)
对象就是由类抽象而来的,这个过程就是实例化

看下面的 代码

class TestStu{
   
    public String name = "zhangsan ";//成员变量,属性,字段
    public int age;//成员变量,属性,字段

    public void add(){
      //成员方法
        System.out.println("这是一个方法");
    }
}
public class TestDome {
   
    public static void main(String[] args) {
   
        TestStu teststu1 = new TestStu();//这是第一个对象
        System.out.println(teststu1.name);
        System.out.println("=============");
        TestStu teststu2 = new TestStu();//这是第二个对象
        System.out.println(teststu2.name);
    }
}

在这里插入图片描述
通过new实例化 产生两个对象,name 和 age 是他们共有的属性

注意事项
new 关键字用于创建一个对象的实例.
使用 . 来访问对象中的属性和方法.
同一个类可以创建对个实例

3、类的成员

3.1、字段,属性,成员变量

类的成员可以包含以下:字段、方法、代码块、内部类和接口等…
在类中, 但是方法外部定义的变量. 这样的变量我们称为 “字段” 或 “属性” 或 “成员变量”(三种称呼都可以, 一般不会严
格区分)

用于描述一个类中包含哪些数据
比如说:描述学生,我们可以通过学生的姓名,年龄,学生号等等,来描述,每个学生的这些都不相同,所以有很多的学生,就可以秒速不同的学生

class TestStu{
   
    public String name = "zhangsan ";//成员变量,属性,字段
    public int age = 18;//

    public void add(){
      //成员方法
        S
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Später321

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

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

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

打赏作者

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

抵扣说明:

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

余额充值