![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
第8章:面向对象
面向对象
阿呆布衣酷
纯干货学习笔记:无盈利目的,只想帮自己成长
展开
-
28.练习:对象属性:给对象中属性和引用对象赋值和获取
跟汤老师学Java笔记:练习:对象属性完成:第一遍1.练习:给对象中属性和引用对象赋值和获取package season8;public class TestInstanceField { public static void main(String[] args) { Stu stu = new Stu("s1001","唐伯虎",20); StuClass stuClass = new StuClass(); stuClass.setCid(1); stuCla原创 2020-06-16 10:26:27 · 195 阅读 · 0 评论 -
27.练习:多态:多态实现宠物店领养宠物
跟汤老师学Java笔记:练习:多态完成:第一遍1.练习:多态实现宠物店领养宠物package duotai;import java.util.Scanner;//领养宠物public class TestDuoTaiTest { public static void main(String[] args) { showMenu(); } //显示主菜单 public static void showMenu(){ Scanner inpu原创 2020-06-16 00:20:36 · 1658 阅读 · 0 评论 -
26.多态的总结:多态有哪两种???运行时多态常见哪三种实现方式???运行时多态的前提是什么???多态中成员的访问特点是什么???多态的好处和弊端是什么???向上转型和向下转型的区别???
跟汤老师学Java笔记:总结多态完成:第一遍1.实现多态的条件是什么?(1).继承的存在(继承是多态的基础,没有继承就没有多态)(2).子类重写父类的方法(多态下调用的是子类重写后的方法)父类引用变量指向子类对象(向上转型)2.多态的优点是什么减少代码量提高可扩展性和可维护性...原创 2020-06-16 00:02:20 · 1442 阅读 · 0 评论 -
25.多态的实现2
25.多态的实现2完成:第一遍案例:主人与宠物玩耍主人类 Master宠物 Pet ——> Dog、Catpublic class Pet { public Pet() { } public Pet(String name, String sex) { super(); this.name = name; this.sex = sex; } String name; String sex; public void play(){ System.原创 2020-08-30 21:25:30 · 234 阅读 · 0 评论 -
24.多态的实现1:介绍多态使用的一种具体情况???
跟汤老师学Java笔记:多态的实现完成:第一遍1.多态的具体实现是怎样的?将父类作为方法形参,将子类的对象作为方法实参,从而实现多态案例:主人与宠物玩耍主人类 Master宠物 Pet ——> Dog、Catpackage duotai;public class Pet { public Pet() { } public Pet(String name, String sex) { super(); this.name = name; this.sex原创 2020-06-15 23:57:59 · 159 阅读 · 0 评论 -
23.多态:什么是运行时多态??????引用类型之间的转换有哪两种???
跟汤老师学Java笔记:多态完成:第一遍1.什么是多态?多态是具有表现多种形态的能力的特殊,即一种事物,具有多种形态2 引用类型之间的转换有哪两种?两种:自动类型转换将子类对象转换父类,如student——>Person将父类的引用指向子类的对象,称为向上转型,会自动进行类型转换特性:通过父类引用变量调用的方法是子类重写后的方法,不是父类的方法通过父类引用变量无法访问子类特有的属性和方法强制类型转换将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型,必须进行强制类型原创 2020-06-15 23:12:15 · 315 阅读 · 0 评论 -
22.方法重写:什么是方法重写???方法重载和方法重写的区别???
跟汤老师学Java笔记:方法重写完成:第一遍1.什么是方法重写?子类中的方法,与父类中的方法的名称、参数列表、返回类型一样,我们就说子类重写了父类的方法,称为方法重写override,注解@Override(1).在父子类中,一定含有继承关系(2).方法名相同(3).参数列表相同(4).返回类型相同或是子类(5).访问修饰符不能缩小,即访问权限不能缩小(6).子类不能抛出比父类更大的异常作用:用来重新定义子类的行为,解决父类和子类的差异性2.方法重载和方法重写的区别?(1)相同点:原创 2020-06-15 19:16:03 · 805 阅读 · 0 评论 -
21.super关键字:super关键字和this关键字的区别是什么???
跟汤老师学Java笔记:super关键字完成:第一遍1.super关键字和this关键字的区别?super关键字:表示父类对象的引用,只能在子类中使用可以使用 super() 调用父类的构造方法,必须位于第一行可以使用 super. 访问父类的属性和方法,解决父类和子类中成员同名的问题this关键字:表示当前对象的引用,只能在方法中使用可以使用 this() 访问当前类中重载的构造方法,必须位于第一行可以使用 this. 访问本类中的属性和方法,解决全局变量和局部变量同名的变量注:调用原创 2020-06-15 18:53:41 · 205 阅读 · 0 评论 -
20.构造方法的调用:创建子类对象时构造方法的调用过程是什么样的???
跟汤老师学Java笔记:构造方法的调用完成:第一遍1.构造方法的调用过程是什么样的?只要创建子类对象,就会默认会自动调用父类无参的构造方法(此时必须要保证父类中有无参构造,父类没有无参构造方法会报错)从子类开始,逐层往上调用父类的构造方法,直到Object类,然后再层层返回到子类中,执行后续代码创建子类对象时必须会调用父类的构造方法,而调用父类构造方法也就创建了父类的对象,所以当创建子类对象时,其实先创建了父类对象,只不过这个父类对象并不是独立存在的,而是和子类对象合为一个整体...原创 2020-06-15 18:36:49 · 385 阅读 · 0 评论 -
19.继承的范围:父类的哪些成员子类可以继承???
跟汤老师学Java笔记:继承的范围完成:第一遍1.继承的范围,子类可以继承父类的哪些成员?父类的public、protected修饰的属性和方法可以被子类继承默认修饰的属性和方法在同包的情况下可以被子类继承,不同包情况不可以父类的private修饰的属性和方法不能被子类继承父类的构造方法不能被子类继承(原因:构造方法名必须与类名相同,而子类名称不可能与父类相同)...原创 2020-06-15 16:30:12 · 1234 阅读 · 1 评论 -
18.继承:单继承
18.继承:单继承完成:第一遍如果一个类没有显式的继承其他类那么默认继承自java.lang.Object类public class Test{ public static void main(String[] args) { A a = new A(); a.a(); a.b(); a.c(); a.toString(); C c = new C(); c.c(); c.toString(); c.hashCode(); }}class C {原创 2020-08-30 20:49:49 · 212 阅读 · 0 评论 -
17.继承:什么是继承???通过哪个关键字实现继承???继承的作用是什么???继承的两大特性是什么???
跟汤老师学Java笔记:继承完成:第一遍1.什么是继承?可以让一个类继承自另一个类,此时该类会继承另一个类中的属性和方法继承而得到的类称为子类,被继承的类称为父类(超类/基类)继承是一种 is a 的关系,子类都是is a 父类的一种扩展2.继承实现方式语法:class 子类 extends 父类{}3.继承的作用是什么?代码复用:将多个子类中相同的属性和方法放到父类中功能扩展:子类可以有自己独特的属性和方法4.继承的特性是什么?Java只支持单继承,不支持多继承,但支持多层继原创 2020-06-15 16:11:47 · 853 阅读 · 0 评论 -
16.练习:封装:定义程序员类,包含属性是姓名、年龄和技术方向,包含方法是自我介绍方法和工作方法
跟汤老师学Java笔记:练习:封装完成:第一遍1.练习:封装定义程序员类包含属性:姓名、年龄、技术方向包含方法:自我介绍方法、工作方法要求:(1).对属性进行封装并提供对应setter、getter方法(2).限制年龄大于等于18,否则提示年龄无效并设置默认年龄为18(3).技术方向为只读的,通过构造方法初始化package season8;public class TestEncapsulationTest { public static void main(String[]原创 2020-06-15 15:42:20 · 1053 阅读 · 0 评论 -
15.封装:面向对象的哪三大特征???封装的具体实现方式是什么???getter、setter方法的语法是怎样的???Eclipse快速生成setter、getter方法快捷键是什么???
跟汤老师学Java笔记:封装完成:第一遍1.面向对象的哪三大特征?面向对象三大特征:封装、继承、多态2.Java代码体现封装特性的规范是什么?将类的属性封装在类中,不允许在类的外部直接访问,保护数据的安全,使内容可控只能通过被授权的方法才能对数据进行访问类的基本原则就是封装3.Java中封装的实现方式是什么?步骤:(1). 将属性私有化使用private修饰属性(2). 提供对外访问的方法setter、getter方法,用于赋值、取值4.如何设置getter、setter方法?原创 2020-06-15 15:20:31 · 259 阅读 · 0 评论 -
14.对象的初始化顺序:什么是类加载???什么时候会类加载???类的成员有哪些???对象的初始化顺序是什么???
跟汤老师学Java笔记:对象的初始化顺序完成:第一遍1.什么是类加载?概念:将class文件读取加载到JVM内存中的过程,称为类加载2.类加载的时机是什么?(1).创建类的对象(2).调用类的静态属性或静态方法(3).执行main方法时,main方法所在的类会被加载(4).通过反射调用类 Class.forName(“包名.类名”)3.类的成员有哪些?类中的成员:属性(实例属性、静态属性)方法(实例方法、静态方法)构造方法代码块静态代码块:使用static修饰的代码块注:st原创 2020-06-15 14:36:58 · 108 阅读 · 0 评论 -
13.访问修饰符:访问修饰符有哪4种???
跟汤老师学Java笔记:访问修饰符完成:第一遍1.访问修饰符有哪4种和权限有哪些?访问修饰符:用来控制访问范围,可以修饰属性、方法、类等访问修饰符有4种:public、protected、默认、privatepublic公开的同一个类 : 可访问同一个包内的类 : 可访问不同包的子类 : 可访问不同包并且不是子类: 可访问protected受保护的同一个类 : 可访问同一个包内的类 : 可访问不同包的子类 : 可访问不同包并且不是子类: 不可访问默认同一个类 : 可访问同一原创 2020-06-15 13:39:20 · 198 阅读 · 0 评论 -
12.包package:包package的作用是什么???如何声明包???包的命名规范是怎样的???如何导入包???Java中常用的包哪七个包???
跟汤老师学Java笔记:、包package完成:第一遍1.、包package的作用是什么?区分同名的类类较多时便于管理便于访问控制2.如何声明包?用来指定当前类所在包使用package,写法: package 包名;必须位于第一行(注释除外)3.包的命名规范?采用组织的反向域名使用小写字母,不能以点号开头或结尾com.baidu.fanyi4.如何导入包?当需要使用其他包中的类时必须导入使用import,写法: import 包名.类名; 或 import 包名.*;必须位原创 2020-06-15 13:30:18 · 519 阅读 · 0 评论 -
11.构造方法:什么是构造方法???使用构造方法要注意哪七点???
跟汤老师学Java笔记:完成:第一遍1.什么是构造方法?构造方法是一种特殊的方法,也称为构造函数 或 构造器 constructor作用:用于创建和初始化对象2.构造方法的特点是什么?方法名必须和类名相同没有返回值,也不能写作void当创建类的对象时,会自动调用构造方法一个类中可以有多个构造方法(构造方法重载)如果没有自定义构造方法,则类中默认会有一个无参的构造方法如果自定义了构造方法,则默认的无参构造方法就没有了,可以自己再写个无参构造方法(建议),很多框架会默认自动调用无参构造方法原创 2020-06-15 12:59:26 · 505 阅读 · 0 评论 -
10.练习:对象数组2
10.练习:对象数组2完成:第一遍1.练习:汽车对象数组怎么赋值???public class Test{ public static void main(String[] args) { String[] names = new String[3]; Car[] cars = new Car[3]; inputInfo(cars); displayInfo(cars); } /* * 录入车辆信息 */ public static void inputI原创 2020-08-29 12:20:22 · 171 阅读 · 0 评论 -
9.练习:对象数组1:
跟汤老师学Java笔记:练习:对象数组完成:第一遍1.练习:汽车对象数组怎么赋值?package season8;//自己定义了一个汽车类public class Car { String name; String color; double price; }package season8;public class TestOOPTest { public static void main(String[] args) { Car[] cars=new Car原创 2020-06-14 23:19:35 · 160 阅读 · 0 评论 -
8.方法重载:什么是方法重载overload???
跟汤老师学Java笔记:方法重载完成:第一遍1.什么是方法重载?overload:一个类中包含两个或两个以上同名的方法,其参数列表不同,称为方法重载在同一个类中方法名相同参数列表不同(参数个数、类型、顺序至少有一项不同),即方法签名不同与方法修饰符、返回值类型、形参名无关,只与方法名和参数列表有关。作用:提供同一种功能的多种实现方式,根据调用者传递的参数来决定采用哪种方式比如System.out.println()可以打印各种数据类型package season8;public cl原创 2020-06-14 22:33:35 · 238 阅读 · 0 评论 -
2.面向对象的产生
跟汤老师学Java笔记:面向对象的产生完成:第一遍1.面向对象的产生?package season8;//记录马路上的汽车信息public class TestOOP { public static void main(String[] args) { //记录一辆车的信息 //变量存储的缺点:变量太多,5辆车需要25个变量 String name="大众POLO"; String color="红色的"; String direction="向东行原创 2020-06-14 10:50:31 · 140 阅读 · 0 评论 -
5.在文件中定义多个类
跟汤老师学Java笔记:在文件中定义多个类完成:第一遍1.如何在文件中定义多个类?一个文件中可以定义多个类,但只能有一个public修饰的类,且此类的名称必须与文件名相同package season8;//语法上允许一个文件定义多个类//但实际开发中都是一个类对应一个文件,不允许在一个文件中定义多个类public class TestManyClass { public static void main(String[] args) { Pet myPet = new Pet();原创 2020-06-14 11:33:23 · 694 阅读 · 0 评论 -
7.static关键字:static关键字作用是什么???变量的分类有几种???
跟汤老师学Java笔记:、static关键字完成:第一遍1.什么是static关键字?static表示静态的,可以用来修饰变量和方法,分别称为静态变量和静态方法(1).静态变量使用static修饰的变量,称为静态变量 或 类变量(非static修饰的变量称为实例变量)静态变量为类的所有对象所共有,属于整个类访问方式: 对象名.属性名 或 类名.属性名 (推荐)(2). 静态方法使用static修饰的方法,称为静态方法 或 类方法(非static修饰的方法称为实例方法)访问方式: 对象名原创 2020-06-14 13:05:38 · 213 阅读 · 0 评论 -
6.this关键字:成员变量和局部变量有哪些区别???this关键字作用是什么???
跟汤老师学Java笔记:this关键字完成:第一遍1.全局变量和局部变量的区别?全局变量:在类中定义的变量,称为全局变量,也就是属性在整个类中都可以使用全局变量有默认值,可以直接使用局部变量:除全局变量以外的其他变量,称为局部变量,如在方法 或 代码块中定义的变量,方法的形参也是局部变量只能在局部访问没有默认值,必须进行赋值初始化才能使用局部变量和全局变量同名,局部变量优先级更高,即默认访问的是局部变量可以使用this关键字来解决局部变量和全局变量同名的问题2. this关键字用法原创 2020-06-14 12:01:25 · 1193 阅读 · 0 评论 -
4.类的使用2:如何创建对象???如何访问对象???
4.类的使用2:如何创建对象???如何访问对象???完成:第一遍1.如何创建对象???// 方式1类名 对象名=new 类名();// 方式2类名 对象名;对象名=new 类名();2. 如何访问对象???访问对象的属性: 对象名.属性名访问对象的方法: 对象名.方法名()/* * 记录马路上的汽车信息 */public class Test{ public static void main(String[] args) { /* * 记录一辆车的信息,缺点:变量太原创 2020-08-28 23:29:41 · 209 阅读 · 0 评论 -
3.类的使用1:如何定义类???如何定义属性???如何定义方法???
3.类的使用1:如何定义类???如何定义属性???如何定义方法???完成:第一遍1. 如何定义类???class 类名{ 成员属性; 成员方法; }类:一个类就是一个数据类型定义一个类其实就是创建了一个数据类型类名使用帕斯卡命名法,即所有单词首字母大写一个文件中可以定义多个类但只能有一个public修饰的类且此类的名称必须与文件名相同2.如何定义属性???数据类型 属性名;int age;数据类型 属性名;属性名使用驼峰命名法即第一个单词首字母小原创 2020-08-28 23:25:14 · 330 阅读 · 0 评论 -
1.面向对象简介:什么是OOP即面向对象???什么是类和对象???
1.面向对象简介:什么是面向对象???什么是类和对象???完成:第一遍1. 什么是面向对象???OOP:Object Oriented Programming面向对象是一种程序的设计范型使用 类 和 对象 进行程序设计2.什么是类和对象???类是具有相同的特征和行为的一组对象的抽象类是一个抽象的概念没有具体事物与之对应,如人类、动物等对象是类的实例对象是某一个具体的事物如李华这名学生、叫旺财的狗...原创 2020-08-28 16:34:09 · 247 阅读 · 0 评论 -
12.1:JDK类库中有哪七个常用的包???
part 5:JDK类库中有哪七个常用的包???完成:第10遍1.JDK类库中有哪七个常用的包???第一个包:Java.lang包。该包提供了Java语言基础类包括Runnable接口和Object、Math、String、System、Thread以及Throwable类等第二个包:java.util包。该包提供了包含集合类、日期、国际化和各种实用工具类第三个包:java.io包。该包通过文件系统、数据流和序列化提供系统的输入与输出第四个包:java.net包。该包提供实现网络应用原创 2020-08-19 23:47:26 · 651 阅读 · 0 评论