Java课程03总结
一:继承条件下的构造方法调用
package test;class Grandparent {public Grandparent(){System.out.println("GrandParent Created.");}public Grandparent(String string) {System.out.println("GrandParent Created.String:" + string);}}class Parent extends Grandparent {public Parent(){//super("Hello.Grandparent.");System.out.println("Parent Created");// super("Hello.Grandparent."); } }class Child extends Parent {public Child(){System.out.println("Child Created");} }public class TestInherits {@SuppressWarnings("unused")public static void main(String args[]){Child c = new Child();} }
通过 super 调用基类构造方法(
通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。
)后运行截图:
如果super()语句不在第一行,报错:Constructor call must be the first statement in a constructor。
二:方法覆盖
package test;class Pa
{public void display(){System.out.println("Parent Created");}
}class Ch extends Pa
{public void display(){super.display();System.out.println("Child Created");}
}public class Override {public static void main(String[] args) {// TODO Auto-generated method stubCh c = new Ch();c.display();}
}
在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。
运行结果:
没有调用父类中被覆盖的方法
运行结果:
三:类型转换
package test;class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{}public class TestCast {public static void main(String args[]){Mammal m;Dog d=new Dog();Cat c=new Cat();m=d;//d=m;d=(Dog)m;//d=c;//c=(Cat)m; } }
结果:
结论:
子类对象可以直接赋给基类变量。
基类对象要赋给子类对象变量,必须执行类型转换,
其语法是: 子类对象变量=(子类名)基类对象名;
四:子类父类拥有同名的方法
package test;public class ParentChildTest {public static void main(String[] args) {Parent parent=new Parent();parent.printValue();Child child=new Child();child.printValue();parent=child;parent.printValue();parent.myValue++;parent.printValue();((Child)parent).myValue++;parent.printValue();} }class Parent{public int myValue=100;public void printValue() {System.out.println("Parent.printValue(),myValue="+myValue);} } class Child extends Parent{public int myValue=200;public void printValue() {System.out.println("Child.printValue(),myValue="+myValue);} }
运行结果:
结论:
当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。
转载于:https://www.cnblogs.com/janeszj/p/9890533.html
Java课程03总结相关推荐
- Java大作业-考试管理系统(GUI)无数据库-Java课程设计
Java课程设计-Java大作业-考试管理系统(GUI)无数据库 题目要求 开发环境 : 程序总功能模块 程序详细设计 使用情况 第一次写这东西有不少错误的地方,题目要求的功能也没有完全实现,以上内容 ...
- 尚硅谷2022版Java课程体系,霸气来袭
摘要:技术为王,课比天大. 尚硅谷当家学科硬核升级, 全新Java课程体系重磅来袭! 见证好课,一睹为快: 01 额外加赠架构师课 加量不加价,扶上马再送一程. 为进一步增强学员市场竞争力, 面授结束 ...
- 微普公司JAVA课程体系图
微普公司JAVA课程体系: 转载于:https://www.cnblogs.com/CharmingDang/archive/2009/03/24/9663711.html
- Java学习笔记(笔记来源:B站UP主遇见狂神说的Java课程总结)
该笔记是我看完B站UP主:遇见狂神说的Java部分课程后总结出来的内容,视频指路--->[[狂神说Java]Java零基础学习视频通俗易懂-哔哩哔哩 目录 Java基础(12节) Java基础0 ...
- 某内Java课程(整套视频+课件)
某内Java课程 需要整套视频文件(视频+课件):(+V: t_shopnet) 1 FUNDAMENTALO1 01: 对象和类(上)(6 am.mp4 01: 对象和类(上) (6 pm.mp4 ...
- 如何高效学习java课程
想要快速进入到java行业,进行系统的培训和有效的学习是非常重要的,那么短时间内如何高效学习java课程呢?来看看下面小编的详细介绍吧. 如何高效学习java课程? 1. 克服自身惰性,学习环境更 ...
- JAVA课程设计——“小羊吃蓝莓”小游戏
JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...
- java课程 数独 文库_数独java
数独游戏的算法研究与实现_IT/计算机_专业资料.数独游戏的算法研究与实现 java lSSN1009-3044 ComputerKnowledgeAnd MnoJ;01∥电奠知识与技术 E-mail ...
- python编程书籍1020python编程书籍_代写INFT 1020作业、Database作业代做、Java课程作业代写、c++,Python编程作业代做...
代写INFT 1020作业.Database作业代做.Java课程作业代写.c++,Python编程作业代做 日期:2020-04-25 10:27 INFT 1020 Database Fundam ...
最新文章
- python获取系统时间月份_python 取数组绝对值python获取当前日期
- asp.net request详细说明
- 罗永浩发文评《你好,李焕英》:一定要看!
- Service Mesh简史
- 【FPGA教程案例31】通信案例1——基于FPGA的ASK调制信号产生
- 下载各种在线视频及字幕
- python标准库calendar判断年份是闰年和平年
- 一句话讲清种子轮、天使轮、ABC轮的区别
- 天猫爬虫--爬取天猫评论中的图片
- 程矢Oracle PowerDesigner中生成Oracle版本主键和自增列
- 【技术美术图形部分】2.2 模型与材质基础
- 单片机定时器实现的数字时钟
- Python - 装机系列22 华擎A520+AMD 4650G + Ubuntu装新机过程
- matlab离散系统差分求全响应,实验七(1)
- 微服务中API网关的作用是什么?
- 北漂IT男返乡创业,草根逆袭回忆录(下)
- 【Java】插入排序、希尔排序详解
- MATLAB 基础知识 数据类型 表 创建和使用表
- 微信小程序input数据的双向绑定
- JS去掉“确认重新提交表单”提示