java的Teacher类_java类的继承 - osc_tauwfamo的个人空间 - OSCHINA - 中文开源技术交流社区...
类的继承是类的一个重要概念,通过类的继承子类可以继承父类的属性和方法,提高代码的复用性。
eg:
//**
*创建一个父类Teacher,父类有两个属性name,age,两个方法sleep(),teach()
*
*/
class Teacher{
public String name;
public int age;
public void sleep(){
System.out.println("老师会睡觉");
}
public void teach(){
System.out.println("老师会讲课");
}
}
//**
*JavaTeacher类继承Teacher类,并有自己独有的方法eye()
class JavaTeacher extends Teacher{
public void eye(){
System.out.println("java老师戴眼镜");
}
}
如上所示,JavaTeacher类继承了Teacher类,这样通过继承JavaTeacher类就拥有了Teacher类的两个属性name,age,两个方法sleep(),teach()。除了继承父类的属性和方法,子类还可以创建自己的方法和属性。
1.private在类中的使用
子类只能继承父类的非private属性和方法。需要指出的是,用private修饰方法不常见,毕竟若果是private,则对外不能使用,是没有意义的(需要指出的是单例模式,就是通过用private把构造器私有化实现的)。如果父类的属性被私有化,则子类可以通过get/set方法间接调用。
eg:
//用private修饰name属性
class Teacher{
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
//JavaTeacher类继承Teacher类
class JavaTeacher extends Teacher{
}
public class TeacherDemo{
public static void main(String[] args){
JavaTeacher jt=new JavaTeacher();
jt.setName("网名“);
jt.getName();
}
2.super用法
在创建一个子类对象时,首先调用父类构造器创建一个父类对象,然后调用子类构造器创造一个子类对象。
父类中如果没有带有参数的构造器时,会默认调用父类的默认无参数构造器,无论这个无参数构造器是否显式显示。
父类中如果有带有参数的构造器时,如果默认无参数构造器不显式显示,则会覆盖,子类创建时不会默认调用
当父类只存在带有参数的构造器时,子类的构造器必须有该父类构造器。
2.1.调用父类的默认构造器
class Parent{
}
class Son extends Parent{
son(){
super()//调用父类的默认构造器,super()也可以不写,默认调用
system.out.println("这是子类构造器");
}
}
2.2当有带有参数的构造器时,不会默认调用
class Parent{
Parent(String name){
}
}
class Son extends Parent{
son(){
super()//这事由于父类默认构造器被覆盖,不可调用,不管是显示还是隐式
super(name);//需要调用父类的带有参数的构造器,并且父类构造器必须写在第一行
system.out.println("这是子类构造器");
}
}
2.3当父类无参数构造器被写明时,子类构造器可以调用
class Parent{
Parent(){
}
Parent(String name){
}
}
class Son extends Parent{
son(){
super()//由于父类无参数构造器被显式写明,所以子类构造器可以调用,该调用可以是显式的和隐式的
system.out.println("这是子类构造器");
}
}
3.final关键字
final关键字修饰类,则类不可继承。
final关键字修饰属性,则属性不可修改。常用与修饰常量。如:
public static final doule pi=3.14;
final关键字修饰方法,则方法不可被重写。
java的Teacher类_java类的继承 - osc_tauwfamo的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- java方法调用机制_Java方法调用机制 - osc_bkdv2it5的个人空间 - OSCHINA - 中文开源技术交流社区...
最近在编程时,修改方法传入对象的对象引用,并没有将修改反映到调用方法中.奇怪为什么结果没有变化,原因是遗忘了Java对象引用和内存分配机制.本文介绍3个点: ① 该问题举例说明 ② 简要阐述Java内 ...
- java网络编程 听_java网络编程 - 亲亲媛的个人空间 - OSCHINA - 中文开源技术交流社区...
一.TCP/UDP,Socket,Http,Ftp简介 1.TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层.传输层和应用层: 网络层:IP协议(支持网间互联的数据报协议 ...
- java 写入环境变量_Java环境变量配置 - import_key的个人空间 - OSCHINA - 中文开源技术交流社区...
Java 环境变量和路径 在 Solaris 系统上,必须先设置 JAVA_HOME 和 PATH 环境变量,Sun Management Center 3.6 安装向导.设置向导和 Java 控制台 ...
- java连连看项目汇报_java连连看小项目 - osc_x4wlt5vu的个人空间 - OSCHINA - 中文开源技术交流社区...
/* *本人也是刚入门,希望各位多多指教 *该项目主要代码在于连线 *1.2个连线没有拐弯 *2.2个连线有一个拐弯 *3.2个连线有2个拐弯 *采用递归算法 */ package llk; impo ...
- java 嵌套类 继承_Java嵌套类 - 爱吃苹果的搬运工的个人空间 - OSCHINA - 中文开源技术交流社区...
在Java中可以创建几种不同类型的嵌套类: 静态嵌套类: 静态内部类可以独立于外部类被实例化,无法访问外部类中的非静态属性和方法,只能外部类的实例来访问外部类的非静态变量 public class O ...
- java回调函数的生命_Java的回调函数 - choaklin 的个人空间 - OSCHINA - 中文开源技术交流社区...
暂且不提回调函数的各种定义,如我本人,虽然知道JavaScript的回调的使用,但是百科了回调的定义,还是觉得云里来雾里去.所以大可先从已熟悉的入手,旁推侧引它的原理,再引出Java版的实现. 因为博 ...
- java成果_java学习成果1 - chenxiao60的个人空间 - OSCHINA - 中文开源技术交流社区
//我的第一个java程序 /**the first thinking in java example program * display a string and today's date * @a ...
- java 递归死循环_Java递归 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...
树节点类: package cn.com.tree; public class Node { private Integer id; private Integer parentId; private ...
- java通讯方式_Java线程通讯方式 - osc_63rgy8af的个人空间 - OSCHINA - 中文开源技术交流社区...
l 休眠唤醒方式: Object的wait.notify.notifyAll Condition的await.signal.signalAll l CountDownLatch:用于某个线程A等待 ...
最新文章
- 【转】Unity游戏开发图片纹理压缩方案
- 由浅入深之Tensorflow(3)----数据读取之TFRecords
- WordPress插件制作教程概述
- 普通Java对象怎么计算大小(字节长度)?
- Linux学习总结(49)——应当竭力避免在系统中运行的 Linux 命令
- python 循环添加array_python常用的基本语句介绍
- 什么样的生意一本万利?
- java 数据库 下载_数据库下载
- 有趣的java小项目------猜拳游戏
- 2021-09-10二叉树的层序遍历
- python银行排队系统仿真_单片机实现银行排队叫号系统Proteus仿真
- https://blog.csdn.net/Darryl_Tang/article/details/80545688
- codeigniter mysql查询_codeigniter数据库操作函数汇总
- Windows7不停弹出计算机界面,拨号连接自动弹出,教您如何解决电脑总是自动弹出...
- 合肥工业大学宣城校区2018年-2019年第一学期(大三上学期)物联网工程专业资料汇总(含课件、个人实验报告、实验代码、课设报告等)
- 【抓包工具】配置:Fiddler 配置手机/平板抓包 https
- ubuntu双系统引导梅花_Ubuntu Windows双系统和USB无线网卡安装的正确方法
- 段永平抄底腾讯:高手不是最完美的,而是最淡定的
- 1970 matla 时间_教你用MATLAB做季节性调整
- 2020电赛A题(心电波形,lcd显示,心率计算,iir滤波处理)