Java继承extends与super关键字详解
函数也称为方法!
继承:在java中使用extends关键字来表示继承关系。super用来继承父类方法和参数。
继承就是子类继承父类的特征和行为,使得子类具有父类相同的行为。
注意事项:
1、当一个类没有继承任何一个类时,系统默认继承Object。
2、父类又被称为基类、超类、super类,子类又被称为派生类,这是由于翻译问题而导致的。
3、Java的继承是单一性的。
4、子类不能继承父类的构造方法,但是可以继承构造方法类的参数。
5、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。但子类不能继承父类private修饰的属性和方法。
语法格式:
系统默认继承
class 类名 extends Object{/*代码块*/}
正确继承语法
class 子类名 extends 父类名{/*代码块*/}
错误继承语法
class 子类名 extends 父类名,父类名{/*不支持多继承*/}
创建类名为Father的父类:
public class Father { int a; int b; int addSum; Father(int a,int b){ //父类的构造函数 this.a=a; this.b=b; } void Cal(){ //父类自己的方法 addSum=a+b; System.out.println(addSum); } public static void main(String[] args){ Father f=new Father(2,2); //创建对象初始化 f.Cal(); //父类调用父类的方法 } }
父类运行结果:4
创建子类名为Son的子类:
public class Son extends Father{ Son(int a, int b) { //子类的构造方法 super(a, b); //继承来自父类的参数 } void son(){ //子类自己的方法 super.Cal(); //子类调用父类的方法 } public static void main(String[] args){ Son s=new Son(3,3); //创建对象初始化 s.son(); //子类调用子类的方法 } }
子类运行结果:6
您可能感兴趣的文章:
- 详解JAVA中implement和extends的区别
- Java基础之extends用法详解及简单实例
- java中extends与implements的区别浅谈
- Java super关键字的使用方法详解
- java中this与super关键字的使用方法
- 详解java中this.getClass()和super.getClass()的实例
- 详解Java使用super和this来重载构造方法
- Java super和this的对比及使用
- Java中的super关键字_动力节点Java学院整理
相关推荐
-
Java基础之extends用法详解及简单实例
Java extends用法详解 概要: 理解继承是理解面向对象程序设计的关键.在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类).在Java中不允许多继承. (1)继承 class Animal{ void eat(){ System.out.println("Animal eat"); } void sleep(){ System.out.println("Animal sleep"); } vo
-
java中extends与implements的区别浅谈
1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个
-
Java中的super关键字_动力节点Java学院整理
一.super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用. super关键字测试 package com.bjpowernode.test; /** * 父类 * * */ class FatherClass { public int value
-
Java super关键字的使用方法详解
构造方法中的super关键字 在Java子类的构造方法中可以通过super关键字来调用父类的构造方法.其用法为: 1) super(); 访问父类中的无参构造函数 2) super (paras-); 访问父类中的成员函数yyy super()来调用父类无参的构造方法,但即使不使用super(),默认也会调用父类无参的构造方法.父类无参的构造方法可以是自定义的无参构造方法,也可以是编译器自动生成的默认构造方法.但如果父类中定义了有参的构造方法,但没有定义无参的构造方法,这时编译器不会生成默认构造
-
java中this与super关键字的使用方法
java中this与super关键字的使用方法 这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~ this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this的用法在java中大体可以分为3种: 1.普通的直接引用 这种就不用讲了,this相当于是指向当前对象本身. 2.形参与成员名字重名,用this来区分: class Person { private int age = 10; public Perso
-
详解Java使用super和this来重载构造方法
详解Java使用super和this来重载构造方法 实例代码: //父类 class anotherPerson{ String name = ""; String age = ""; public String getAge() { return age; } public void setAge(String age) { this.age = age; } public void setName(String name){ this.name = name;
-
详解JAVA中implement和extends的区别
详解JAVA中implement和extends的区别 extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,Java中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了比如class A extends B implements C,D,E implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法. 还有几点需要注意: (1
-
详解java中this.getClass()和super.getClass()的实例
详解java中this.getClass()和super.getClass()的实例 前言: 遇到this.getClass()和super.getClass()的返回值感到疑惑,经过探索豁然开朗. getClass()是java中Object类的一个方法,其原型为: public final Class<?> getClass() 返回值为 当前运行时类的Class对象. 所以写了一段代码来说明: getClass()不受this和super影响,而是有当前的运行类决定的. 代码如下: 父类
-
Java super和this的对比及使用
Java super和this的对比及使用 super和this的异同 1)super(参数列表):调用父类中的某一个构造函数(应该为构造函数中的第一条语句) this(参数列表):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 2)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参) this:它代表当前对象名(在程序中易产生二义性之处,应使用t
-
Java继承extends与super关键字详解
函数也称为方法! 继承:在java中使用extends关键字来表示继承关系.super用来继承父类方法和参数. 继承就是子类继承父类的特征和行为,使得子类具有父类相同的行为. 注意事项: 1.当一个类没有继承任何一个类时,系统默认继承Object. 2.父类又被称为基类.超类.super类,子类又被称为派生类,这是由于翻译问题而导致的. 3.Java的继承是单一性的. 4.子类不能继承父类的构造方法,但是可以继承构造方法类的参数. 5.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展.但子
-
java多线程编程之Synchronized关键字详解
本文介绍JAVA多线程中的synchronized关键字作为对象锁的一些知识点. 所谓对象锁,就是就是synchronized 给某个对象 加锁.关于 对象锁 可参考:这篇文章 一.分析 synchronized可以修饰实例方法,如下形式: public class MyObject { synchronized public void methodA() { //do something.... } 这里,synchronized 关键字锁住的是当前对象.这也是称为对象锁的原因. 为啥锁住当
-
Java中super关键字详解
目录 super有什么用? super什么时候不可以省略呢? super在内存图中是如何存在的呢? super使用时的注意事项 总结 super有什么用? (1)当子类中构造方法第一行没有super时,会默认第一行有一个super(),它的作用是调用父类的无参构造. 例: class A{ public A(){ System.out.println("父类构造方法执行!"); } } public class superTest extends A{ public superTest
-
Java并发教程之volatile关键字详解
引言 说到多线程,我觉得我们最重要的是要理解一个临界区概念. 举个例子,一个班上1个女孩子(临界区),49个男孩子(线程),男孩子的目标就是这一个女孩子,就是会有竞争关系(线程安全问题).推广到实际场景,例如对一个数相加或者相减等等情形,因为操作对象就只有一个,在多线程环境下,就会产生线程安全问题.理解临界区概念,我们对多线程问题可以有一个好意识. Jav内存模型(JMM) 谈到多线程就应该了解一下Java内存模型(JMM)的抽象示意图.下图: 线程A和线程B执行的是时候,会去读取共享变量(临界
-
Java Synchronize下的volatile关键字详解
简介关键词:Synchronize与volatile Synchronize:无论是对于Synchronize同步方法异或是Synchronize块,本质是对某对象或某类加锁,让多线程进行队列化的有序地同步执行. volatile:用于修饰变量.在多线程执行过程中,禁止线程从工作内存(缓存)中读取值. volatile问题抛出: 让我们看到这样一个问题,我们设置一个含有boolean标志位的类Test,以及两个Runable接口实例,分别为MyThread1,MyThread2. 在MyThre
-
Java关键字详解之final static this super的用法
目录 1. final 关键字: 2. static 关键字: 3. this 关键字: 4. super 关键字: final,static,this,super 关键字总结 正文开始@Assassin 1. final 关键字: final 关键字,意思是最终的.不可改变的,初始化之后就不能再次修改 ,用来修饰类.方法和变量,具有以下特点: final 修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为 final 方法: final 修饰的方法不能被重写: final 修饰
-
Java中super和this关键字详解
目录 父类空间优先于子类对象产生 super和this的含义 super和this的用法 继承的特点 父类空间优先于子类对象产生 在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身.目的在于子类对象中包含了其对应的父类空间,便可以包含其父类的成员,如果父类成员非private修饰,则子类可以随意使用父类成员.代码体现在子类的构造方法调用时,一定先调用父类的构造方法. 理解图解如下: super和this的含义 super :代表父类的存储空间标识(可以理解为父亲的引用). this
-
Java中this和super关键字的使用详解
目录 父类空间优先于子类对象产生 super和this的含义 super和this的用法 继承的特点 父类空间优先于子类对象产生 在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身.目的在于子类对象中包含了其对应的父类空间,便可以包含其父类的成员,如果父类成员非private修饰,则子类可以随意使用父类成员.代码体现在子类的构造方法调用时,一定先调用父类的构造方法.理解图解如下: super和this的含义 super :代表父类的存储空间标识(可以理解为父亲的引用). this :代
-
java方法重写和super关键字实例详解
java方法重写和super关键字 在继承中,其实就是子类定义了和父类同名的方法 就是方法,属性都是相通的 重写限制: 被子类重写的方法不能拥有比父类方法更加严格的权限 super:强行调用父类方法的执行 重载和重写的区别? 重 载是发生在一个类中 对权限没有要求 而且重载的方法参数可以不同 重写发生在继承汇总 被子类重写的方法不能拥有比父类方法更加严格的权限,重写的方法中参数名字完全相同 实例代码: class A{ public void tell(){ Syst
-
java Super 用法详解及实例代码
java Super 用法详解 1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少工作量: 2)在一个构造函数中调用另外一个构造函数的时候应该用的是同一块内存空间,在默认的构造函数中先初始化变量,调用另一个的时候覆写已经初始化的变量的值: 3)整个调用的过程和递归调用函数有点类似,不断充气球,直到整个气球膨胀起来,不断的深层递进,遇到停止标记,逐层的跳出来. 写了段代码,解释我上面的叙
随机推荐
- 详解Vue.js入门环境搭建
- jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
- jquery实现用户信息修改验证输入方法汇总
- javascript获取函数名称、函数参数、对象属性名称的代码实例
- 数组重排序(如何将所有奇数都放在所有偶数前面)的深入分析
- 安装多个版本JDK后使用时的切换方法总结
- python使用paramiko模块实现ssh远程登陆上传文件并执行
- JS setCapture 区域外事件捕捉
- c#调用winrar解压缩文件代码分享
- Python网络编程中urllib2模块的用法总结
- 简略说明Javascript中的= =(等于)与= = =(全等于)区别
- 探讨多键值cookie(php中cookie存取数组)的详解
- PHP学习之数组值的操作
- ASX文件 终极教程第1/2页
- JQuery 引发两次$(document.ready)事件
- iis下设置301 Redirect 永久重定向的方法
- VC++ 使用 _access函数判断文件或文件夹是否存在
- 监控服务调用微信API如何给自己发告警信息
- Lua的内存管理浅析
- Javascript实现重力弹跳拖拽运动效果示例