Java面向对象中学习day12
小太阳i
这个作者很懒,什么都没留下…
展开
-
Java自学习day12-多态性使用举例
package com.atguigu.java4;import java.sql.Connection;//多态性的使用举例一:public class AnimalTest { public static void main(String[] args) { AnimalTest test = new AnimalTest(); test.func(new Dog()); test.func(new Cat()); } public void fu原创 2021-05-11 22:51:53 · 147 阅读 · 0 评论 -
Java自学习day12-多态性
面向对象特征之三:多态性1.理解多态性:可以理解为一个事物的多种形态。2.何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)3.多态的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。4.多态性的使用前提: ① 类的继承关系 ② 方法的重写5.对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)package原创 2021-05-06 17:07:16 · 136 阅读 · 0 评论 -
Java自学习day12-继承和super应用-创建 Account 类的一个子类 CheckAccount 代表可透支的账户
创建 Account 类的一个子类 CheckAccount 代表可透支的账户,该账户中定义一个属性overdraft 代表可透支限额。在 CheckAccount 类中重写 withdraw 方法,其算法如下:如果(取款金额<账户余额),可直接取款如果(取款金额>账户余额),计算需要透支的额度判断可透支额 overdraft 是否足够支付本次透支需要,如果可以将账户余额修改为 0,冲减可透支金额如果不可以提示用户超过可透支额的限额要求:写一个用户程序测试 CheckAcco原创 2021-05-06 16:36:26 · 1585 阅读 · 0 评论 -
Java自学习day12-继承和super练习-写一个名为 Account 的类模拟账户
1、写一个名为 Account 的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和setter 方法),返回月利率的方法 getMonthlyInterest(),取款方法 withdraw(),存款方法deposit()。写一个用户程序测试 Account 类。在用户程序中,创建一个账号为 1122、余额为 20000、年利率 4.5%的 Account 对象。使用原创 2021-05-06 15:36:32 · 1828 阅读 · 0 评论 -
Java自学习day12-子类对象实例化的全过程
package com.atguigu.java3;/* * 子类对象实例化的全过程 * * 1. 从结果上来看:(继承性) * 子类继承父类以后,就获取了父类中声明的属性或方法。 * 创建子类的对象,在堆空间中,就会加载所有父类中声明的属性。 * * 2. 从过程上来看: * 当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器,... * 直到调用了java.lang.Object类中空参的构造器为止。原创 2021-05-06 15:26:02 · 149 阅读 · 0 评论 -
Java自学习day12-super关键字的使用
super关键字的使用1.super理解为:父类的2.super可以用来调用:属性、方法、构造器3.super的使用:调用属性和方法 * 3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用 * 父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super." * 3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的 * 使用"super.属性"的方式,表明调用的是父原创 2021-05-06 15:02:59 · 128 阅读 · 0 评论 -
Java自学习day12-四种权限修饰符
测试代码代码分布情况package com.atguigu.java2;public class OrderTest { public static void main(String[] args) { Order order = new Order(); order.orderDefault = 1; order.orderProtected = 2; order.orderPublic = 3; order.methodDefault(); order..原创 2021-05-06 12:50:25 · 130 阅读 · 0 评论 -
Java自学习day12-方法的重写练习
1.如果现在父类的一个方法定义成private访问权限,在子类中将此方法声明为default访问权限,那么这样还叫重写吗?(NO)2. 修改练习1.2中定义的类Kids,在Kids中重新定义employeed()方法,覆盖父类ManKind中定义的employeed()方法,输出“Kidsshould study and no job.”...原创 2021-05-05 23:40:26 · 575 阅读 · 0 评论 -
Java自学习day12-方法的重写理解
方法的重写(override / overwrite)1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作*2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。重写的规定: 方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ //方法体 } 约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法 ① 子类重写的方法原创 2021-05-05 23:39:16 · 142 阅读 · 0 评论 -
Java自学习day12-继承练习2-CylinderTest类中创建Cylinder类的对象
根据下图实现类。在CylinderTest类中创建Cylinder类的对象,设置圆柱的底面半径和高,并输出圆柱的体积。原创 2021-05-05 23:36:54 · 840 阅读 · 0 评论 -
Java自学习day12-继承练习1-定义一个ManKind类
(1)定义一个ManKind类,包括成员变量int sex和int salary;方法void manOrWoman():根据sex的值显示“man” (sex1) 或者 “woman”(sex0);方法void employeed():根据salary的值显示“no job”(salary==0)或者“ job”(salary!=0)。(2)定义类Kids继承ManKind,并包括成员变量int yearsOld;方法printAge()打印yearsOld的值。(3)定义类KidsTest原创 2021-05-05 23:33:40 · 4343 阅读 · 0 评论 -
Java自学习day12-面向对象中总结(继承性、方法的重写、关键字super、子类对象实例化)
1.为什么要有类的继承性?(继承性的好处)① 减少了代码的冗余,提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用,提供了前提图示:2.继承性的格式:class A extends B{}A:子类、派生类、subclassB:父类、超类、基类、superclass3.子类继承父类以后有哪些不同?3.1体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私的原创 2021-05-05 23:19:20 · 142 阅读 · 0 评论