当前位置: 首页 > news >正文

Day16-Java

面向对象

封装(数据的隐藏)

  • 程序设计要追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量方法给外部使用
  • 封装通常应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏
  • 属性私有,get/set
package com.Kong.Oop.demo03;public class Student {//属性私有privateprivate String name;private int id;private char sex;private int  age;//提供一些可以操作这个属性的方法//提供一些public的get,set方法//get 获得这个数据public String getName() {return name;}//set 给数据设置值public void setName(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {if (age < 0 || age > 100) {System.out.println("年龄错误");this.age = -1;}else {this.age = age;}}
}
package com.Kong.Oop;import com.Kong.Oop.demo03.Student;/*
* 1.提高程序的安全性,保护数据
* 2.隐藏代码的实现细节
* 3.统一接口
* 4.系统可维护增加了
* */public class Application {public static void main(String[] args) {Student s1=new Student();s1.setName("Kongmi");System.out.println(s1.getName());s1.setAge(999);//不合法System.out.println(s1.getAge());}
}

继承

  • 继承的本质就是对某一批类的抽象,从而实现对现实世界更好的建模

  • extends的意思是“扩展”,子类是父类的扩展

  • Java中类只有单继承,没有多继承

  • 继承是类和类之间的一种关系,继承关系的两个类,一个为子类(派生类),一个为父类(基类),子类继承父类,使用关键字extends来表示

  • 在Java中,所有的类都默认继承Object类

package com.Kong.Oop;import com.Kong.Oop.demo04.Person;
import com.Kong.Oop.demo04.Student;public class Application {
public static void main(String[] args) {Student s1 = new Student();s1.say();s1.setMoney(10000);
}
}
package com.Kong.Oop.demo04;
//在Java中,所有的类都默认继承Object类
//父类
public class Person {private int money=10_0000_0000;public void say(){System.out.println("Hello");}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}
}
package com.Kong.Oop.demo04;
//子类
public class Student extends Person {
}

Super/This

super:

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法
super this
代表父类对象的应用 调用者本身这个对象
只能在继承条件才能使用 没继承也能使用
父类的构造 本类的构造
package com.Kong.Oop.demo04;
//在Java中,所有的类都默认继承Object类
//父类
public class Person {public Person() {System.out.println("Person无参执行");}
}
package com.Kong.Oop.demo04;
//子类
public class Student extends Person {public Student() {//隐藏了父类的无参构造super();//调用父类的构造器,必须要在子类的第一行System.out.println("Student无参执行");}
}
package com.Kong.Oop;import com.Kong.Oop.demo04.Student;public class Application {public static void main(String[] args) {Student s1=new Student();}
}
http://www.jsqmd.com/news/779068/

相关文章:

  • 开源项目蓝图:从TypeScript到Vite的工程化实践与自动化流程
  • 斯坦福大学造了一个“AI医生考场“,结果最强的AI也只考了46分
  • Hugging Face 发布 Reachy Mini 机器人智能体工具包,支持自然语言开发;OpenAI 首款 AI 手机有望明年上半年量产丨日报
  • 模具工装全生命周期智能化管理,工业Agent驱动的落地方法详解
  • CPA学习软件怎么选?揽星会计CPA一个APP搞定全周期备考 - 速递信息
  • AI应用开发之特征值与SVD分解详解
  • 3步完成微信聊天记录永久备份:开源工具完整指南
  • 【掌门】2021年高中数学高一寒假专题试卷-平面向量
  • 零基础CPA入门难?揽星会计CPA APP带你从“小白”到“准注册会计师” - 速递信息
  • 悬空的语言:大语言模型与人类对“理解“的本质差异
  • AI技能地图:从数学基础到工程部署的完整学习路径解析
  • 最后30天,PMP救命冲刺法:我是如何在考前一个月提分40%的
  • 告别数据跳动!HX711与MSP432P401R的滤波算法与稳定性优化实战
  • 从流量套利到结构化增长,NetMarvel 助力越南游戏应用实现高速增长!
  • 3步破解大众点评数据采集难题:动态字体加密爬虫实战指南
  • MetisDraw - 专业绘图工作台
  • 2026年4月AIGC论文检测网站推荐,AIGC降重/免费论文查重/维普AIGC检测/论文检测,AIGC论文检测网站推荐 - 品牌推荐师
  • 英语教育软件开发:AI 背单词、AI 自习室、绘本阅读系统技术实现与源码分析,英语 App 开发、背单词 App 开发、AI 背单词 App、AI 自习室系统、英语软件定制、英语学习 App 源码、超
  • 工程师如何将技术现实转化为幽默表达:从EE Times漫画竞赛到技术写作
  • 荷兰与英国高校:无需重训实现大模型安全模式动态切换能力
  • 5步解锁VMware Workstation Pro 17:免费许可证密钥全攻略
  • 用Python和Matplotlib可视化理解:为什么梯度向量就是曲面的法线方向?
  • LangChain信息提取实战:用大语言模型从非结构化文本中高效抽取结构化数据
  • 黄金反弹关注60日线阻力
  • Arm Cortex-A75性能监控架构与实战指南
  • Rust代码可视化:基于rustc语义分析生成精准调用关系图
  • Cortex-A720内存管理机制与虚拟化优化解析
  • 【数据分析】基于遗传GA优化ANFIS用于分类预测 - Iris数据集附Matlab代码
  • 全程可视、零干扰:非侵入式 SRT 监控详解
  • ARM1136JF-S协处理器接口与调试系统深度解析