初学java--重载,重写和继承
来源:互联网 发布:好听的淘宝女店铺名称 编辑:程序博客网 时间:2024/05/21 22:51
方法重载,指同一个类中多个方法(与返回值,访问修饰符无关):
方法名相同
参数列表不同
构造函数重载
方法重写的规则
在继承关系的子类中
重写的访问修饰符不能比父类的访问修饰符更严格(例如。父类是默认,则重写则可以使默认、protect和public)
重写的方法名、参数、返回值类型必须与父类相同
私有方法不能继承因而也无法重写
方法重写vs方法重载
继承
编写父类
class Father{
//公共的属性和方法
}
编写子类,继承父类,子类只能继承一个父类
class Sonextends(extends为继承关键字) Father{
//子类特有的属性和方法
}
一个类创建对象时的初始化顺序:属性 --> 代码块(初始化 )--> 构造,
有继承关系后,先有父类,再有子类:父类属性-->父类构造方法-->子类属性-->子类构造方法
有些父类成员不能继承
1.子类不能访问父类private成员
2.子类 与父类不在同包,使用默认访问权限(不添加访问修饰符即为默认访问权限)
3.构造方法(父类的构造在子类中一定要被调用)
此处为继承和重写的代码实例:
package com.jredu.jicheng;/** * 工程师类(父类) * @author Hello * */public class Engineer {//此为父类,其子类可以继承protected int id;protected String name;protected String entertime;public Engineer(int id, String name, String entertime) {super();this.id = id;this.name = name;this.entertime = entertime;}public void showInfo(){System.out.println("编号:"+id+",姓名"+name+",入职时间"+entertime);}}
package com.jredu.jicheng;/** * 软件工程师,继承工程师类(子类) * @author Hello * */public class SoftEngineer extends Engineer {//此为子类,独有属性方法private String type;//语言类型public SoftEngineer(int id, String name, String entertime,String type) {super(id, name, entertime);// TODO Auto-generated constructor stubthis.type=type;}@Override//重写public void showInfo() {// TODO Auto-generated method stubsuper.showInfo();System.out.println("语言类型:"+type);}public void coding(){System.out.println("正在编程");}}
package com.jredu.jicheng;/** * 测试工程师(子类) * @author Hello * */public class TestEngineer extends Engineer {private String level;public TestEngineer(int id, String name, String entertime,String level) {super(id, name, entertime);//使用super可以调用父类的属性,否则无法调用父类属性// TODO Auto-generated constructor stubthis.level=level;}public void test(){System.out.println("开始测试");}}
package com.jredu.jicheng;/** * 测试类 * @author Hello * */public class Test {public static void main(String[] args) {//调用父类中的定义的方法结果//如果子类没有重写父类的方法,调用的就是父类的实现//如果子类重写了父类的方法,调用的就是子类中的实现SoftEngineer soft=new SoftEngineer(1, "张三", "15-08-09", "java工程师");soft.showInfo();soft.coding();TestEngineer test=new TestEngineer(2, "李四", "11-01-01", "高级测试工程师");test.showInfo();test.test();}}
阅读全文
1 0
- 初学java--重载,重写和继承
- Java中继承、多态、重载和重写
- java-重载、重写、继承、多态
- 【Java】重写、重载、多态、继承
- Java-继承、重载、重写、多态
- 继承、多态、重载和重写
- 继承、多态、重载和重写
- 继承、多态、重载和重写
- 继承、多态、重载和重写
- 继承、多态、重载和重写
- 【Java】Java基础知识1. 继承、多态、重载和重写
- java中的继承和多态以及重载和重写
- JAVA——继承、多态、重载和重写
- Java中继承、多态、重载和重写介绍
- Java中继承、多态、重载和重写介绍
- java的重写、重载以及继承、多态和封装
- java面向对象的继承以及方法重写和重载
- java--面向对象之继承4(重写和重载)
- C++ Map常见用法说明
- 关于java中文件与流的理解
- 共享内存的创建 实现卖票的程序
- 消息队列
- 容斥原理
- 初学java--重载,重写和继承
- 17.8.14号
- Python3之绑定到类的方法应用
- 数据库—内容的查询语句
- 基于Android真实项目教你一步一步搭建架构 -- 目录
- css的内联和块元素总给
- 管道方式实现文件复制
- 2. S5PV210系统时钟简介
- git 的使用学习0815