Java基础(三)——封装、重载、继承等

一、封装

1.     访问修饰符

public:该类或非该类均可访问。

private:只有该类可以访问。

Protected:该类及其子类的成员可以访问;同一个包中的类也可访问。

默认:同一包中的类可以访问。

2.     UML类图

       

3.     类的构造方法

作用:负责对象初始化工作;类的构造方法确定在用户操作对象之前,保证初始化。

语法规则:构造方法名与类名相同;

          无返回类型;

          方法实现主要为字段赋初值;

构造方法的调用:new(返回新建实例的引用),系统默认的构造方法为无参构造方法

构造方法的重载:通过调用不同的构造方法来表达对象的不同初始化方式。

4.     this关键字

特点:

a)      在类的方法中使用的this关键字代表的是调用此方法的对象的引用;

b)      this可以看做是一个变量,它的值是当前对象的引用;

c)       使用this关键字可以处理方法中的成员变量和形参同名的问题;

d)      当在方法内需要用到调用该方法的对象时,可以用this;

e)      在类的构造方法中可以调用this([参数列表])来调用该类的指定构造方法;

f)       两个构造方法同名,参数不同,称为构造方法的重载;

g)      构造方法可以调用构造方法,但是必须放在第一条语句。

5.     static关键字

特点:

a)      修饰成员变量,方法成为静态变量,静态方法。被static修饰的变量或方法,是所有对象共享的,不再单属于哪一个对象,所有该类对象均可以使用该变量或方法,因此使用时可以用  类名.变量名,而不用对象.变量名(对象名.变量名也可以用,不推荐);

b)      static修饰语句块时,称为静态代码块,先于构造方法之前执行,只会执行一次,用来对静态成员做初始化;

c)       静态修饰的成员被所有对象共享;

d)      静态方法只能访问外部的静态成员;

e)      static修饰的变量被对象共享,导致一个对象对其值的改变导致的改变值在其他对象上也适用。即对象1将静态变量值由a改成b,当对象2调用该变量值时,值为改变后的b;

f)       静态方法不能访问非静态变量,静态方法中不能使用this;静态方法优先于对象产生;

g)      static语句块:在类被加载的时候就会执行,只会执行一次,用来对静态的变量赋值;且优先于构造方法的执行

static{

                  System.out.println("static语句块");

                  num1 = 100;

         }

6.     设计模式

a)      单例模式

要点: 某个类只有一个实例;

       该类必须自行创建这个实例(对象);

       必须自行向整个系统提供这个实例,即对外提供使用该实例的接口。

7.     方法重载

同一类中,同名不同参的方法成为重载方法;

仅有返回类型不同的方法不能成为重载,即方法重载必须方法签名不同(方法签名=方法名+参数列表);

8.     标准Java包就是层次型包结构;

包可以有效的防止命名冲突和混乱;

包中的成员可以相互访问;

包声明必须在源程序的首行;

包名由小写单词组成;

一个类可以使用同一包中所有类以及其他包中的所有公开类;

访问其他包中的公开类的方式:1)简单在每个类前面加上完整包名;

                            2)使用import语句来导包;

9.     继承

继承中父类更通用更抽象,子类更特殊更具体;

继承即基于已存在的类来构建新类,就重用了父类的方法和属性,子类中还可以添加新的方法和属性;

类之间的关系:继承体现,组合体现,接口体现;

继承特点:子类继承了父类的成员;具有层次结构;实现代码重用;

继承关键字:extends;

super关键字:

a)      this保存的是当前对象地址的引用,即子类,super保存的是父类对象地址的引用;

b)      当子父类的成员出现同名时,可以用super来进行区分;

c)       当构造一个子类对象的时候一定会先调用父类的构造方法(没有父哪有子)来构造父类对象,调用父类构造方法的语句必须是子类构造方法中的第一条指令;

基于开源大模型的教学实训智能体软件,帮助教师生成课前备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。 智能教学辅助系统 这是一个智能教学辅助系统的前端项目,基于 Vue3+TypeScript 开发,使用 Ant Design Vue 作为 UI 组件库。 功能模块 用户模块 登录/注册功能,支持学生和教师角色 毛玻璃效果的登录界面 教师模块 备课与设计:根据课程大纲自动设计教学内容 考核内容生成:自动生成多样化考核题目及参考答案 学情数据分析:自动化检测学生答案,提供数据分析 学生模块 在线学习助手:结合教学内容解答问题 实时练习评测助手:生成随练题目并纠错 管理模块 用户管理:管理员/教师/学生等用户基本管理 课件资源管理:按学科列表管理教师备课资源 大屏概览:使用统计、效率指数、学习效果等 技术栈 Vue3 TypeScript Pinia 状态管理 Ant Design Vue 组件库 Axios 请求库 ByteMD 编辑器 ECharts 图表库 Monaco 编辑器 双主题支持(专业科技风/暗黑风) 开发指南 # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build 简介 本项目旨在开发一个基于开源大模型的教学实训智能体软件,帮助教师生成课前备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值