java头歌
文章平均质量分 76
SparkleN.
知足且上进
展开
-
方法的重写与重载
多态”的技术之一,所谓“重载”,即是方法名称相同,但却可在不同的场合做不同的事。当一个子类继承一父类,而子类中的方法与父类中的方法的名称、参数个数和类型都完全一致时,就称子类中的这个方法重写了父类中的方法。方法重写是在子类存在方法与父类的方法的名字相同而且参数的个数与类型一样,返回值也一样的方法,就称为方法的重写;方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载;子类从父类中继承方法,有时,子类需要修改父类中定义的方法的实现,这称做。原创 2024-05-25 11:31:37 · 327 阅读 · 0 评论 -
类的继承和super关键字
100。原创 2024-05-12 18:37:43 · 1016 阅读 · 0 评论 -
Java继承和多态之对象类型的转换
如果子类重写了父类的某个方法后,当对象的向上转型对象调用这个方法时一定是调用了这个重写的方法,因为程序在运行时知道,这个向上转型对象的实体是子类创建的,只不过损失了一些功能而已。向下转型必须保证父类对象引用的是该子类的对象,如果引用的是父类的其他子类对象,会抛出类型不匹配异常。本关任务:使用对象类型的转换,根据编程提示,完成猫类和动物类的转换,以及彼此方法和属性的调用。向上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法;向下转型对象访问重写父类的方法时,操作的是子类的方法;原创 2024-05-11 17:58:26 · 773 阅读 · 0 评论 -
Java继承和多态之final关键字
例如,Java 类库中的 String类,它对编译器和解释器的正常运行有着很重要的作用,不能轻易改变它,因此把它修饰为 final 类,使它不能被继承,这就保证了 String 类的惟一性。同时,如果你认为一个类的定义己经很完美,不需要再生成它的子类,这时也应把它修饰为 final 类。用 final 修饰的方法为最终方法,不能再被子类重写,可以被重载。2. final 关键字修饰类、成员变量和成员方法。变量被声明为 final 后,成为常值变量(即常量),一旦被通过某种方式初始化或赋值,即不能再被修改。原创 2024-05-11 17:40:01 · 980 阅读 · 0 评论 -
【无标题】
子父类存在着同名的成员(包括变量和方法)时,在子类中默认是访问子类的成员,可以通过 super 关键字指定访问父类的成员;super 关键字主要存在于子类方法中,用于指向子类对象中的父类对象;创建子类对象时,默认会先调用父类无参的构造方法,可以通过 super 关键字指定调用父类的构造方法。对于继承父类的子类而言,有时我们需要在子类中访问父类的方法,此时便可以使用。例子:子类使用 super 访问和调用被子类隐藏的成员变量和方法。例子:使用 super 调用父类的构造方法。原创 2024-05-11 17:28:10 · 372 阅读 · 0 评论 -
Java继承和多态之方法重写
在子类中如果创建了一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只是方法体中的内容不同,以实现不同于父类的功能,这种方式被称为方法重写(override),又称为方法覆盖。返回的类型必须与被重写的方法的返回类型相同(Java1.5 版本之前返回值类型必须一样,之后的 Java 版本放宽了限制,返回值类型必须小于或者等于父类方法的返回值类型);子类和父类在同一个包中时,子类可以重写父类的所有方法,除了声明为 private 和 final 的方法;父类的成员方法只能被它的子类重写;原创 2024-05-11 17:13:08 · 328 阅读 · 0 评论 -
Java继承和多态之方法重载
Java 中重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。这里需要注意的是参数不同需要满足 2 个条件:一个是参数的个数不同;一个是参数个数相同,但参数列表中对应的某个参数的类型不同。最常用的地方就是构造器的重载。虽然三个方法名都相同,但是他们携带的参数个数或参数类型并不完全一致,这种时候我们就将其称为重载。值的注意的是:方法的重载与返回值类型并无任何关系。本关任务:使用重载方法为 Student 类创建三个构造方法。原创 2024-05-11 17:05:14 · 357 阅读 · 0 评论 -
学习-Java继承和多态之成员变量隐藏之优惠促销价格计算
在上述代码中,我们获取到的 name 属性的值为“Jack's son”,而父类的 name 值却获取不到,那是因为在一个类中,子类中的成员变量如果和父类中的成员变量同名,那么即使他们类型不一样,只要名字一样,父类中的成员变量都会被隐藏。在子类中,父类的成员变量不能被简单的用引用来访问。在编写子类的时候,我们仍然可以声明一些新的成员变量,其中有一种特殊的情况就是,所声明的成员变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏所继承的成员变量。原创 2024-05-10 17:49:14 · 299 阅读 · 0 评论 -
学习-Java继承和多态之子类对象特点
在 Java 中一切都以对象的形式进行处理,在继承的机制中,创建一个子类对象,同样会创建一个父类子对象,这个对象与父类创建的对象是一样的。当实例化子类对象时,父类对象相应被实例化。当用子类的构造方法创建一个子类的对象时,不仅子类中声明的成员变量被分配了内存,而且父类的成员变量也都被分配了内存空间,但只将其中子类继承的那部分成员变量为分配给子类的变量。任意已定义的对象类。我们发现实例化子类对象时,会先实例化父类对象,然后再实例化子类对象,所以在子类构造方法访问父类的构造方法之前,父类已经完成实例化操作。原创 2024-05-10 17:22:15 · 587 阅读 · 0 评论 -
类,构造,this,static
100任务要求参考答案任务描述相关知识什么是类怎么定义类创建对象并且使用对象的属性和方法编程要求测试说明类:类是一个模板,它描述一类对象的行为和属性。对象:对象是类的一个实例,有属性和行为。举个例子:人是一个 "类",小明就是人的 "对象" ,女生/男生是一个类,你的女朋友/男朋友就是一个对象,这个对象的属性有:名字,性别,年龄;行为有:吃饭、睡觉、学习等。在Java中对象的状态就是属性,行为通过方法体现,即Java中的对象一般由属性和行为组成。需要使用class,声明这个类的名字。原创 2024-04-08 18:03:05 · 1088 阅读 · 0 评论 -
Java类和对象之对象数组
所谓的对象数组,就是指包含了一组相关的对象。在使用对象数组的时候,一定要清楚一点:一定要先为数组开辟空间。因为其是引用数据类型,所以数组里面的每一个对象都是 null 值,在使用的时候,数组中的每一个对象必须分别进行实例化操作。将键盘输入的三个学生的信息存入 Student 对象中,最后将这些学生信息按右侧预期输出格式打印输出。本关任务:定义一个 Dog 类,使用对象数组的方式创建 3 个 Dog 对象。类名称 对象数组名[] = new 类名称[] {对象,对象......};数组元素指向所定义的对象;原创 2024-04-07 16:40:04 · 433 阅读 · 0 评论 -
Java类和对象之访问限制
类的访问控制符只能是空或者 public,方法和属性的访问控制符有 4 个,分别是 public、 private、protected 和 default,其中 default 是一种没有定义专门的访问控制符的默认情况。用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用。我们之前所定义的主方法不管在哪个类中,哪个包中,都可以被访问。原创 2024-04-07 16:23:04 · 1036 阅读 · 0 评论 -
学习-Java类和对象之this关键字
需要注意的是,对于 static 修饰的方法而言,可以使用类来直接调用该方法,如果在 static 修饰的方法中使用 this 关键字,则这个关键字就无法指向合适的对象。在上述代码中, this.name 就指的是 Demo 类中的成员变量 name, 而等于号右边的 name 就是形参,这句话的意思是把形参 name 的值赋值给成员变量 name。当一个类的属性(成员变量)名与访问该属性的方法参数名相同时,则需要使用 this 关键字来访问类中的属性,以区分类的属性和方法中的参数。原创 2024-04-07 15:53:44 · 832 阅读 · 0 评论 -
实现一个链接存储的栈
输入输出说明: 输入格式: 输入多个操作:如果输入 “push” ,则后面跟一个数 x ,表示 x 进栈;五个操作函数,以实现判断栈是否为空、求栈的长度、进栈、出栈以及获取栈顶元素等功能。如图 1 所示:该栈存储了 3 个元素 {56,77,15} ,其中 56 是栈顶元素。五个操作函数,以实现判断栈是否为空、求栈的长度、进栈、出栈以及获取栈顶元素等功能。打印栈中元素:从栈顶到栈底打印各结点数据元素。输出格式: 输出栈的长度,然后从栈顶到栈底依次输出各元素。求栈的长度:获取链式栈的长度。原创 2024-04-06 11:08:47 · 864 阅读 · 0 评论 -
ava类和对象24.3.29
关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。表现在代码层面,为被关联类 B 以类的属性形式出现在关联类 A 中,也可能是关联类 A 引用了一个类型为被关联类 B 的全局变量。举个例子: 小明没钱,但是想开豪车,想吃火锅,他想到了一个解决方法:把一个富豪绑架到家里,让他给我买个豪车,他就买了,让他给我买火锅,他就买了(组合关系,它包含在我家里了,我就可以使用它的功能了)。原创 2024-03-29 17:06:54 · 988 阅读 · 0 评论 -
!学习-Java循环之嵌套循环之淡水湖排名
B 说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三;D 说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。第四步:把四个人说的话都转化成三元运算符(话为真赋值为 1,为假则赋值为 0),然后对所有三元运算符的值求和,如果等于 3,说明有三人说真话,一人说假话。嵌套循环就是一个循环中包含一个或者 n 个其他的循环,while、do...while 和 for 循环之间可以相互嵌套,比如 for 循环里面可以有 for 循环,for 循环里可以有 do...while 循环等。,C 说的话可表示为。原创 2024-03-28 22:56:34 · 325 阅读 · 0 评论 -
学习-Java类和对象之参数传值机制之求球面积
可以看出,main 方法里的变量 i,并不是 pass 方法里的 i,pass 方法内部对 i 的值的修改并没有改变实际参数 i 的值,改变的只是 pass 方法中 i 的值(pass 方法中,i=30),因为 pass 方法中的 i 只是 main 方法中变量 i 的复制品。上面代码中,之所以产生引用传递的错觉,是因为参数保存的是实际对象的地址值,你改变的只是地址值指向的堆内存中的实际对象,并没有真正改变参数,参数的地址值没有变。那按照上面的引用传递的定义,实际参数的值被改变了,这不就是引用传递了么?原创 2024-03-24 14:30:37 · 1142 阅读 · 0 评论 -
-Java类和对象之对象引用之模拟手机功能
手机具有属性:品牌(brand)、型号(type)、价格(price)、操作系统(os)和内存(memory);具有功能:查看手机信息(about())、打电话(call(int number))、玩游戏(play())。本关任务:实现手机的基本功能。原创 2024-03-24 14:08:42 · 595 阅读 · 0 评论 -
Java类和对象之对象引用之坐标系中两点距离计算
是从离散数学中引入的,也是如今正在使用的策略,程序把所有的引用关系看作一张图(DOM 图类似),从一个节点 GC ROOT 开始,寻找对应的引用节点,找到这个节点以后,继续寻找这个节点的引用节点,就如递归思想一般,遍历所有,当所有的引用节点寻找完毕之后,剩余的节点则被认为是没有被引用到的节点,即无用的节点,无用的节点将会被判定为是可回收的对象。如果该对象被其它对象引用,则它的引用计数加 1,如果删除对该对象的引用,那么它的引用计数就减 1,当该对象的引用计数为 0 时,那么该对象就会被回收。原创 2024-03-24 13:16:50 · 765 阅读 · 0 评论 -
Java类和对象之构造方法与对象创建之计算数学中的分数值
本关任务:跟据键盘输入的分子和分母求出该分数的值。其中第一次输入的值为分子的值,第二次输入的值为分母的值,两次的值均为 int 型。平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。可在右侧“测试结果”区查看具体的测试集详情。仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。原创 2024-03-22 23:30:24 · 468 阅读 · 0 评论 -
Java类和对象之构造方法与对象创建之求椭圆面积
当我们手动的指定了构造方法时,系统将不会再添加无参的构造方法。但有时需要在调用这个构造方法时,初始化类成员属性或执行一些操作,要实现这个需求,就需要为它定义一个显式无参构造方法。在定义类的时候,如果没有给类定义一个构造方法,Java 编译器在编译时会默认提供一个隐式的构造方法,它没有任何参数,并且有一个空的方法体。构造并初始化对象是构造方法的用处,所以有时需要给这个方法传入一些参数,定义一个显示的有参构造方法。本关任务:已知椭圆的短半轴长为 15.50,长半轴的长为 20.00,计算椭圆面积。原创 2024-03-22 17:16:41 · 882 阅读 · 0 评论 -
Java类和对象之类的声明之复数运算
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。两个复数之间相加的运算法则:实部与实部相加,虚部与虚部相加。关于复数的定义,可以自行查阅,本实训不做讲解。练习-Java类和对象之类的声明之复数运算。本关任务:求两个复数相加后的结果。原创 2024-03-22 17:00:53 · 668 阅读 · 0 评论 -
java学习-Java类和对象之类的声明之学生类的定义
比如,人就是一个类,那么具体的某个人“小明”就是“人”这个类的对象,而“体重、性别、年龄”等信息就是对象的属性,人的行为比如“吃饭、睡觉和玩”等就是对象的方法。它的定义在方法的外部,直接写在类当中,与类共存亡,它用 static 修饰,如果某个内容是被所有对象所共享,那么该内容就应该用 static 修饰;成员变量:也称为实例变量,它的定义在方法的外部,直接写在类当中;类: 类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型(它属于引用数据类型),它是对所具有相同特征实体的抽象。原创 2024-03-22 16:49:38 · 956 阅读 · 0 评论 -
java--求三个数中最大者。
关系运算符 | 表达方式 | 关系运算符| 表达方式| | ------------ | ------------ | | 小于 | < |大于等于 | >= | | 大于 | > |等于 | == | | 小于等于 | <= |不等于 |!Java 的关系运算符有 6 个,分别为小于、大于、小于等于、大于等于、等于、不等于,如表 1 所示。:在实际编程中别写很复杂的表达式,这样的表达式代码可读性低,不便于协作开发。平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。原创 2024-03-16 10:37:06 · 843 阅读 · 0 评论 -
java--三个数从小到大排序
上图演示的是,如何交换变量 A 和 变量 B 的值。首先,将变量 A 和 变量 C 的值进行交换,相当于变量 C 暂时保存了变量 A 的值;最后,再通过变量 C,将变量 A 的值赋给变量 B。案例:交换变量 a 和变量 b 的值。上图演示的是,如何交换变量 A 和 变量 B 的值。首先,将变量 A 和 变量 C 的值进行交换,相当于变量 C 暂时保存了变量 A 的值;最后,再通过变量 C,将变量 A 的值赋给变量 B。提示:在对两个变量的值进行交换时,需要使用一个中间变量(流程图如图1所示)。原创 2024-03-16 10:32:42 · 686 阅读 · 0 评论 -
java头歌——判断回文数
回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中,也有具有这样特征的一类数字,称为回文数。设 n 是一任意自然数,若将 n 的各位数字反向排列得到自然数 n1,如果 n1 与 n 相等,则称 n 为回文数。举例如下:若 n = 12421 ,则称 n 为回文数;但若 n = 12457,则 n 不是回文数。原创 2024-03-16 10:12:17 · 495 阅读 · 0 评论