JAVASE学习 面向对象

1.面向对象(构造方法Constructor概述和格式)

  • A:构造方法概述和作用

    • 给对象的数据(属性)进行初始化
  • B:构造方法格式特点
    • a:方法名与类名相同(大小也要与类名一致)
    • b:没有返回值类型,连void都没有
    • c:没有具体的返回值return

2.面向对象(构造方法的重载及注意事项)

构造方法的重载

重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表

构造方法注意事项

  • a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
  • b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
    • 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出

3. 关于JavaBean规范的总结

JavaBean规范制定的要求1. 要求Java中的所有实体类成员变量全部私有化,最少提供一个无参数构造方法,对应成员变量实现setter和getter方法2. JavaBean规范,是为了后期开发汇总更好的代码适配度,提高代码运行的统一性,能够满足框架的使用3. JavaBean规范只是一个规范,而且是作为一个基础规范,操作都是可以使用快捷键来完成的!!!

4.多类合作

汽车可以看做是一个类成员变量:名字颜色轮胎个数成员方法:飙车飙车有要求,轮胎个数必须是4个
修理厂可以看做是一个类成员变量:名字地址联系方式成员方法:修理汽车的方法【重点】该方法是需要一个汽车类的对象
4.1汽车类代码实现
/*汽车可以看做是一个类成员变量:名字颜色轮胎个数成员方法:飙车飙车有要求,轮胎个数必须是4个*/
public class Car {// 成员变量 Fieldprivate String name;private String color;private int wheelCount;// 构造方法 Constructorpublic Car() {}public Car(String name, String color, int wheelCount) {this.name = name;this.color = color;this.wheelCount = wheelCount;}/*** 飙车方法, 如果轮胎个数不为4,提示需要找修理厂*/public void race() {if (4 == wheelCount) {System.out.println("开着" + color + "的" + name + "在秋名山320KM/H飙车");} else {System.out.println("轮胎GG思密达,快去修理厂~~~~");}}// setter 和 getter 方法 Methodpublic String getName() {return name;}public void setName(String name) {this.name = name;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public int getWheelCount() {return wheelCount;}public void setWheelCount(int wheelCount) {this.wheelCount = wheelCount;}
}
4.2修理厂类代码实现
/*
修理厂可以看做是一个类成员变量:名字地址联系方式成员方法:修理汽车的方法【重点】该方法是需要一个汽车类的对象
*/
public class Factory {// 成员变量 Fieldprivate String name;private String address;private String tel;// 构造方法 Constructorpublic Factory() {}public Factory(String name, String address, String tel) {this.name = name;this.address = address;this.tel = tel;}/** 修理汽车的方法分析* 权限修饰符*        public * 返回值类型*         void* 方法名*      repair* 形式参数列表【重点】*         1. 这里需要一个汽车作为参数*        2. 而且是必要参数*         3. 这里需要的是一个汽车类的对象*      (Car car) 这里是一个汽车类对象* 方法声明:*        public void repair(Car car);*//*** 修理汽车的方法,这里需要的参数是一个汽车Car类的对象* * @param car Car汽车类对象* @throws InterruptedException */public void repair(Car car) throws InterruptedException {// 修理轮胎 通过car类对象获取对应的轮胎个数if (car.getWheelCount() < 4) {System.out.println("轮胎有问题,需要修理");// 修改当前汽车对象的轮胎个数,赋值为4car.setWheelCount(4);// 报错,Ctrl + 1 选择第一个回车Thread.sleep(1000);System.out.println("10W块RMB");} else {System.out.println("你脑子瓦特了~~~~");}}// setter和getter方法 Methodpublic String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}
}
4.3测试类
public class Test {public static void main(String[] args) throws InterruptedException {/** 同package内可以直接使用对应的Class 类*/Car car = new Car("领克03+", "黑色", 4);for (int i = 0; i < 10; i++) {car.race();/**  让程序暂停0.5S*  */Thread.sleep(500);}Thread.sleep(1000);System.out.println("轮胎boom~~~~~");// 轮胎爆炸一个car.setWheelCount(3);Thread.sleep(1000);car.race();// 现在需要一个修理厂对象Factory factory = new Factory();factory.setAddress("海航中路60号");factory.setName("蓝翔汽修");factory.setTel("138后面随便");/** 这里需要通过Factory类对象,调用repair方法,修理汽车Car类的对象* 方法参数是一个Car类的对象*/factory.repair(car);for (int i = 0; i < 10; i++) {car.race();/**  让程序暂停0.5S*  */Thread.sleep(500);}}
}

JAVASE学习 面向对象相关推荐

  1. 【JavaSE学习】03面向对象Java语法

    JavaSE(B站黑马)学习笔记 01Java入门 02数组.方法 03面向对象&Java语法 04-1Java高级(Stream流.异常处理.日志技术) 04-2Java高级(文件处理-IO ...

  2. 【JavaSE】面向对象之多态、向上转型与向下转型

    本专栏为 JavaSE 的学习笔记及相关项目,专栏长期免费更新 ❤️ ❤️ ❤️ ❤️ 个人主页:Nezuko627 欢迎来访~~~ ⭐️往期回顾: [JavaSE]继承中内存发生了什么变化?这篇文章 ...

  3. JavaSE学习(1)

    JavaSE学习(1)目录 单例模式 面向对象 继承extends 重载vs重写 构造函数 final关键字 抽象类abstract关键字 接口Interface 多态 匿名内部类 异常Excepti ...

  4. 【JavaSE学习笔记】

    JavaSE学习笔记 一.java的基本语法 变量运算规则 编码情况1中l后面没有加L,默认是int变量 编码情况2中b1=b+1中的1默认是int型变量,会出错 string类型 string里面可 ...

  5. JavaSE学习笔记(持续更新)

    这里写目录标题 JavaSE学习笔记(持续更新) Java跨平台原理与核心机制 1.跨平台原理: 2.两种核心机制: JDK11的安装流程 Java程序开发的三个步骤(无编辑器版) Eclipse安装 ...

  6. 重拾JavaSE学习笔记

    重拾JavaSE学习笔记 1.常用DOS命令 2.了解Java 2.1 .java特性 2.2.JDK .JRE.JVM 2.3.java的加载和执行 3.开发环境搭建 3.1.安装jdk 3.2.配 ...

  7. 学习面向对象思想,开始考虑通过封装、 继承、多态把程序的耦合度降低

    学习面向对象思想,开始考虑通过封装. 继承.多态把程序的耦合度降低 转载于:https://www.cnblogs.com/Andys/archive/2013/04/05/3001175.html

  8. python继承语法_python语法学习面向对象之继承

    python语法学习面向对象之继承 只要涉及到面向对象,"类"是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念 ...

  9. JavaSE学习总结(八)—— 异常处理(Exception)

    JavaSE学习总结(八)-- 异常处理(Exception) 参考文章: (1)JavaSE学习总结(八)-- 异常处理(Exception) (2)https://www.cnblogs.com/ ...

最新文章

  1. LeetCode简单题之三维形体的表面积
  2. main函数参数,在VS中向命令行添加参数的方法
  3. mysql5.7 only_full_group_by_MySQL5.7默认打开ONLY_FULL_GROUP_BY模式问题与解决方案
  4. SQL链表查询 数据库为空
  5. java 总结几种线程异步转同步的方法
  6. 2021福建计算机会考操作题,2021年福建省信息技术会考笔试试题答案.doc
  7. dropdownlist ajax联动,asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例...
  8. StarlingMVC:为Starling量身打造的MVC框架
  9. Bailian4147 汉诺塔问题(Hanoi)
  10. java常用设计模式及其使用场景
  11. Maven私服Nexus安装与使用,鸟哥的linux私房菜pdf百度云
  12. c语言写我爱你中国编程,c程序设计案例汇编课件.ppt
  13. Hadoop大数据技术课程总结2021-2022学年第1学期
  14. MATLAB TIFF转Shape、TIFF和Shape的读写
  15. matlab rho是什么意思,什么是Rho值
  16. 入耳式无线蓝牙耳机哪款好?无线入耳蓝牙耳机推荐
  17. PHP Web项目开发学习,经验谈
  18. 探索云原生技术之容器编排引擎-Kubernetes/K8S详解(3)
  19. grep 同时查找多个文件
  20. 试题 算法训练 猴子分苹果

热门文章

  1. python定时任务每月1号_Python 定时任务框架 APScheduler 详解
  2. Ae:基于路径点位移的变形动画
  3. Jenkins使用笔记
  4. 一文读懂BEV空间内的特征级融合
  5. Metasploit渗透测试框架基础
  6. 3d 和4d 印刷电子的应用是什么?
  7. 在linux上运行winpe,Linux配置PXE Server启动WinPE3.0环境
  8. 编译移植龙芯2K1000平台下的qt-5.13
  9. myeclipse 10 安装包(64位)下载
  10. fabric1.1 node-sdk实现AND多方背书策略