开发喵星球

第五周学习总结-邹宇明

周报

日期:2023/08/14 ~ 2023/08/18

一、本周回顾

本周,我们主要学习了Java面向对象方面的内容,主要包括以下几个方面:

  1. 类和对象的概念:我们深入学习了类和对象的概念,了解了类是一种抽象的数据类型,而对象则是类的实例。类定义了对象的属性和方法,而对象则是具体的实体。我们还学习了如何创建对象、访问对象的属性和方法以及构造函数的使用。
  2. 封装:封装是面向对象的三大特性之一,它指的是将数据和操作数据的方法包装在一起,形成一个独立的对象。我们学习了如何使用访问修饰符来控制对类的成员变量和成员方法的访问权限,以及如何使用get和set方法来实现封装。
  3. 继承:继承是面向对象的另一个重要特性,它允许我们创建一个新类,继承现有类的属性和方法,从而实现代码的重用。我们学习了如何使用extends关键字来实现继承,以及如何使用super关键字来调用父类的构造方法和成员方法。
  4. 多态:多态是指同一个方法在不同情况下具有不同的行为。

二、感受

理解类、对象、继承、多态等概念,并学会如何将它们应用到实际问题中还是有些难,明显感觉到应该是碰到了个坎。学习面向对象之后发现代码可以是一块一块的,每周都有那么一丢丢的进步哎~虽然很小,但是还是很开心的呀~

但是这周内容有些多哎,太难消化了,这周真的过得很疲惫,虽然周六周天都放假了,但是身体上的疲惫还有心理上的疲惫真的能把人压垮,想回家了,这周生病之后真的特别特别想家…

8.21补充:很感谢我的舍友还有开发喵的各位老师,在我生病的时候一直陪在我们身边,在医院的时候就在考虑了,究竟要不要之后一个人留在这个陌生的城市,只能说走一步看一步吧,人生地不熟,真的很难受。

三、问题

每天的知识都没有理解透,一个知识点没有理解新的知识点又来了,整个就乱乱的,等到后面差的越来越多,就导致特别特别累,得改变一下这个状态,状态不好!

保持状态就会进步,或多或少取决于自己

永远不要站在原地等结果

四、学习笔记

面向对象三大特征:封装、继承、多态

类:

具有相同的状态和相同的行为的一组对象的集合

对象:

真实存在的具体个体

类与对象的关系:

抽象和具体,对象是类的一个实例,类是多个对象进行综合抽象的结果,是实体对象的概念模型

定义类

[修饰符] class 类名{
成员变量; //类的字段
成员方法; //类的行为
}

一个类中只能含有一个public修饰的类,且类名要与文件名相同

类的字段:类的属性

[修饰符] 数据类型 字段名;

类的方法:类的行为

创建对象:

类名 对象名 = new 类名();

对象的字段不赋值,会默认对应的值

对象的指针分配在栈中,对象的实例分配在堆中,对象有多少属性就分配多大内存

成员变量:

类的字段直接定义在类的内部,方法的外部的变量,为成员变量

局部变量:定义在方法的内部

成员变量与局部变量的区别:

构造方法:

生成实例对象的唯一方法

与类名相同,没有返回值

作用:为成员变量初始化

在类中没有定义构造方法,系统会默认创建一个无参构造,该构造方法没有参数和方法体,生成对象的属性值也为零或空,若定义构造方法,系统会自动屏蔽掉无参构造方法,构造方法不能继承

所以在定义时,最好无参构造和带参构造都定义

定义:

[访问修饰符] 方法名([参数列表]){
//方法体
}

构造方法与方法的区别:

无参构造与带参构造区别:

在进行初始化时,带参构造会直接把值赋值给对应字段

无参构造需要调用对应字段进行赋值,不赋值,默认为该字段的初始值

this关键字

this关键字是对一个对象的默认引用。

使用场景:

包的作用:

  1. 存放类
  2. 防止命名冲突
  3. 在更广的范围内,保护类,数据,方法

包的定义:package 包名

包的声明:

当前类所在的包

源文档的第一条非注释性语句,并且原文档只能有一个包声明语句,包名前缀通常是全部小写的ASCII字母,并且是一个顶级域名,通常使用域名的倒写,包名的后续根据不同的公司规定不同

包的导入:

当前类要使用的包

import 包名.类名

同包下的类不需要导包

使用非同包下的类需要导包或或使用全限定类名

java.lang包下的包不需要导包

访问修饰符:

类访问修饰符:public 、package-access

类成员的访问修饰符:

public :公有的,任何地方都可以访问

protected:受保护的,同包以及不同包子类能访问

package-access:包访问权限,同包中访问

private:私有的,只能在当前类中访问

封装

优点:

松耦合尽量减少对象之间的关联性,以降低他们之间的复杂性和依赖性

步骤:

1.修改字段的访问权限

2.设置get/set字段方法

3.设置字段的存取限制

封装的意义:

1.隐藏类的内部细节

2.限制外部访问控制数据的正确性和完整性

3.修改类的内部实现,不会影响类的用户

4.提高代码的重用性

遮蔽:

在一个作用域中使用了一个和外层作用域相同的变量名,导致内部变量遮蔽了外部变量,即无法直接访问外部变量

   
分类:喵星人成长 作者:开发喵 发表于:2023-08-21 14:02:24 阅读量:123
<<   >>


powered by kaifamiao