Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...

39.类的继承java

描述类的时候,咱们若是发现有几个类有重复的属性和方法,咱们就能够采用继承的方法来设计ide

使用extends关键字来继承this

语法:设计

class 子类 extends 父类{对象

子类属性继承

子类方法内存

}资源

特色:(1)子类会把父类全部属性和方法继承下来(暂时不考虑final)get

(2)子类使用extends关键字继承父类的共同属性之外。子类话能够有本身特有的属性和方法;数学

(3)父类更通用,子类更具体

(4)子类只能得到符类中的非private的属性,若是想要继承就得提供公共的set和get的方法。私有的方法是没法继承下来的;

(5)java中只能作单继承。能够多级继承不能多继承。

class ChineseTeacher{

String name;

private int age;

public void setAge(int myAge){

age=myAge;

}

public int getAge(){

return age;

}

public void speek(){

System.out.println("老师在讲课");

}

}

/*类的继承语法:

class 子类 extends 父类{

子类属性

子类方法

}

*/

class MathTheacher extends ChineseTeacher{

boolean isMarry;

public void mathTeach(){

System.out.println(this.getAge()+"岁的"+name+"教数学");

}

}

public class Teacher{

public static void main(String[] args){

MathTheacher m=new MathTheacher();

m.name="大可爱";

m.setAge(27);

int age=m.getAge();

m.isMarry=true;

m.speek();

m.mathTeach();

}

}

//发现一个问题,当我把主方法放在MathTeacher下建立m的时候编译是没有问题的可是运行Mathteacher却出现错误: 找不到或没法加载主类 MathTeacher,不知道为何这样不能够

40.类的继承的内存结构

总结:在类的继承结构中,若是建立一个子类的对象,那么在子类的对象内部建立一个父类的对象,若是经过子类的对象访问属性的时候,就会到父类的对象中去查找,若是调用方法的时候也是同样的,若是子类中没有,也会到父类中查找。

42.super关键字的使用

(1)子类经过默认构造器实例化的过程当中父类的构造器先被调用,而后再调用子类的构造器,在子类构造器内部默认的调用super();

public JavaTeacher{

super();//隐藏调用父类的构造器

System.out.println("子类构造器被调用");

}

注意:若是父类带有有参数的构造器,而且没有显式的定义父类的默认构造器,默认构造器被覆盖,致使子类的构造器没法经过super()来作调用,就会编译报错,须要显式的定义父类的默认的构造器

(2)若是子类的构造器中调用了父类中的有参数的构造器,默认的super()调用就不会有了,不能在子类的构造器中调用两个super(..);

(3)super(..)调用必须放在方法的第一行

(4)super 能够表示父类的引用,使用super和this区分父类和子类中同名的属性,在子类中访问属性的查找顺序首先在子类中查找指定的属性名字,若是子类中没有该属性,那么就去父类中查找该属性,方法也是同样,可是能够经过super对父类的引用来调用父类的方法。

重点:1.理解super(...)对于父类构造器的调用;2.super表示子类内部的那个父类的对象引用

对比this关键字:1.表明当前类的指定实例的引用;2.能够区分同名的属性和局部变量;3.经过This能够调用同类中的构造器(this(),this(...));4.调用本类里面的属性,this.属性名,this.方法名();

class Teacher{

String name="小白兔";

int age=20;

public Teacher(){

System.out.println("父类构造器被调用");

}

}

class ArtTeacher extends Teacher{

String name="小老虎";

int age=22;

public ArtTeacher(){

//super();//隐藏调用父类的构造器

System.out.println("子类构造器被调用");

}

public void introduce(){

System.out.println(this.name+super.age);

}

}

public class Test{

public static void main(String[] args){

ArtTeacher A=new ArtTeacher();

A.introduce();

}

}

43.方法的重写

在子类继承父类时,子类的方法和父类的方法相同(访问修饰先支付,返回值类型,方法名,参数列表),方法体不一样,这种子类的方法将父类的方法覆盖叫重写

重写和重载的区别:

重写:(override)在子类的继承中有相同的方法,惟一布通的就是方法体,通常是父类的该方法知足不了子类的需求全部才发生重写;

重载:(overload)重载是在同一个类中,有着相同的方法名可是参数的数据类型或者参数的个数不一样这两个方法就是重载,母的是节省类中命名资源和提升代码的可读性;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你们班上的同学现在都怎么样了?

今天跟朋友聊天,聊到这个话题,觉的有点意思,所以想拿出来讨论一下。小学小学的时候,我们读书最厉害的应该是我们班上几个老师的孩子,他们像是得到了老师的武功秘籍,读书对他们来说就是家常便饭,…

java socket oc_Java Socket编程(三) 服务器Sockets

文章来源:aspcn 作者:孙雯服务器Sockets列表9.2是一个服务器应用程序的一部分.列表9.2 一个简单的服务器程序/*** 一个监听端口并提供HTML文档的程序.*/class SimpleWebServer {public static void main(String args[]){ServerSocket serverSocket null…

浅析bootstrap原理及优缺点

网格系统的实现原理,是通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统网格系统的实现原理,是通过定义容…

如何把一个float存到一个长度为4的char数组中?

我以前以为它是可以这样的看代码#include "stdio.h"int main(void) {float fa 123.56;char farray[4] {0};farray[0] ((int)fa>> 24)&0xFF;farray[1] ((int)fa>> 16)&0xFF;farray[2] ((int)fa>> 8 )&0xFF;farray[3] ((int)fa>…

OSPF次末节区域配置 201

【实验拓扑】 【实验基本配置】1、按照上图配置相应接口以及OSPF【实验要求】 1、配置Area 1 为NSSA区域2、在R6上配置1条静态路由160.1.60.0/24指向 Null0,并充分发到OSPF中3、将路由器1的ID修改为150.1.100.100【实验分析】次末节区域(NSSA&#xff09…

sort和qsort函数

http://blog.csdn.net/morninghapppy/article/details/6703058 http://blog.csdn.net/rns521/article/details/7473558 http://blog.csdn.net/u012209626/article/details/48792049转载于:https://www.cnblogs.com/Emilylice/p/7689099.html

MTK联发科2021 嵌入式C笔试题分析

题目-分割字符串因为题目是考试的同学凭记忆记下来的,没有记得特别仔细,题目只是写了个大概,我也是凭自己的想法来理解。输入aaa;bbb;ccc输出aaa bbb ccc /*--------------------------------------------*/ 输入,hello,hello,,输出hello hel…

java 打印三维数组_Java基础第三天_数组

1.定义一个函数,函数功能是动态提取int[]中元素的最大值。2.定义一个函数,从数组中查询指定的元素首次出现的位置。3.定义函数,完成冒泡排序,大数下沉。4.折半查找。5.阐述6.定义一个函数,实现矩阵的转置.arr[i][j] a…

DEVICE_ATTR设置0777引发血案

这个宏我们在内核里面使用非常频繁,这个宏的作用可以抛出sys设备节点给用户使用。用户可以读写sys/class下面的文件节点,以达到控制内核驱动的功效。比如,像这样的设备节点weiqifa:/sys/class/zigbee/onoff $ ls gpio_en power subsystem uev…

试用Mono Beta 1.0

下载地址: http://www.go-mono.com/download.html测试环境:Windows XP、Windows 2003测试代码:F:\HelloWorld.csusing System;namespace mynamespace { public class HelloWorld { public static void Main(string [] args) { Console.WriteLine("hello, world"…

线性链表java实现_java实现线性单链表

/**** 线性单链表*/public class LinkedLinearList {private Node head;private int length;// 实际长度/*** 初始化顺序表,长度为length*/public LinkedLinearList() {length 0;head new Node(0, null);length;}/*** 将index位置赋值为c,会覆盖掉原值** param in…

「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日...

他是C语言之父、1983年图灵奖得主,还是Unix的关键开发者。然而,他却因为「任性」没有拿到博士学位,而且当年写的博士论文一丢就是半个世纪。如今,这一神秘的博士论文终于重见天日。很多人可能听说过 Dennis Ritchie 这个人。上世纪…

CS224n笔记3 高级词向量表示

本文转自:http://www.hankcs.com/nlp/cs224n-advanced-word-vector-representations.html 这节课从传统的基于计数的全局方法出发,过渡到结合两者优势的GloVe,并介绍了词向量的调参与评测方法。 复习:word2vec的主要思路 遍历整个…

C# 2.0对现有语法的改进

C# 2.0对现有语法的改进 原注:lover_P出处: [自序] 尽管Microsoft Visual Studio .NET 2005(过去好像叫Visual Studio .NET 2004)一再推迟其发布日期,但广大开发者对其的猜测以及各种媒体对其各方面的“曝光”也似乎已…

一个java类运行时从哪个方法开始_Java的应用程序是从类中的

【填空题】还不走,车来了。【填空题】进路是 运行时所经由的路径。【单选题】()是仿照法国巴黎圣母院设计建造的:【简答题】结合你学习的感受,你认为会计核算程序三大会计要素顺序可以颠倒吗?【填空题】一往无前马当先。【听力题】【判断题】企业所得税是直接税,其纳税人与负税…

C# 第一章 笔记

目录:硬盘 - 工具软件 - 编程开发 - Visual Studio软件:序列号、安装包、魔方虚拟光驱(win7) Visual Studio 2013.exeVisual Studio 2013.msiVisual Studio 2013.iso光盘 -> 光驱光盘镜像文件 -> 虚拟光驱 Win7安装会警告:您当前系统IE…

一粒老鼠屎

我又老生常谈了。本来很久都不去CSDN看文档的评论了。但是今天忍不住又瞄到了几眼,一看那些不屑的,骂人的腔调的评论,就心里堵得难受。CSDN的blog现在可想而知,当应很热闹。但透明和曾毅还有我都没有去用它的blog,我想…

我在深圳,但是家里托人在老家找了一份工作

最近,在微信公众号后台收到一份读者的留言,而且这位读者也是我们GX的,而且更幸运的是,跟我是一个地方的。她是疑惑如下~前辈你好~ 今天看到最新一篇有关读书的推文发现同是HC老乡,斗胆向您请教一些问题,有点…

Django之项目搭建和配置总结(一)

安装和创建虚拟环境 参考:linux系统下Python虚拟环境的安装和使用安装Django包 先进入虚拟环境,在联网下执行:pip install django1.8.7 1.8.7表示django的版本,如果不指定,会默认安装最新版的django。包会被安装到/usr…

java长连接例子_java实现长连接

();public Client(String serverIp, int port) {this.serverIpserverIp;this.portport;}public void start() throws UnknownHostException, IOException {if(running)return;socket new Socket(serverIp,port);System.out.println("本地端口:"socket.ge…