java中的super和this_在Java中super和this的区别
摘要:在Java中我们会时常用到super及this的用法,现在我主要来区分一下super.和this.及superL()及this()之间的区别,来对它们的认识和了解:
1.this的用法在Java中:
①:this.:this加点指此时代表当前对象,能操作当前类里面的所有属性及方法以及父类继承而来能被访问修饰符允许的属性和方法。
super.:此时指代当前对象类的父类对象部分,不能操作到本类的属性和方法,能操作到父类的能被父类访问修饰符允许的属性和方法,只有当本类中调用被重写前的效果时使用super.的方法。
语法:this.成员名 或者 this. 方法名
例:这是this加点使用
public class DemoThis {
private String name;
private int age;
public DemoThis() {
this.print();// 你可以加上this来调用方法,
}
public DemoThis(String name, int age) {
this.name = name;
this.age = age;//这里就必须使用this加点的方法来区分,this.name就指代当前的属性name;
}
public void setName(String name) {
this.name = name; // 此处必须指明你要引用成员变量
}
public void setAge(int age) {
this.age = age;
}
public void print() {
System.out.println("Name=" + name + " Age=" + age); // 在此行中并不需要用this,
// 因为没有会导致混淆的东西
}
}
例:super加点的使用,
package com.lov.lianxiText;
public class DemoThis {//父类
private String name;
private int age;
public DemoThis() {
}
public void print() {
System.out.println("哈哈哈哈。。。。。");
}
}
package com.lov.lianxiText;
public class Demo extends DemoThis {//子类
public Demo(){
}
public void print(){
super.print();//只有这个时候用super.方法,其他我们基本用this.方法
System.out.println("嘿嘿嘿.......");
}
}
总结:有上面我们可知道,this.的使用范围要比super.的范围更大,除了上面要看重写前的效果能super,我们都是用this.的方法。
2:this()与super()
①this()和super()都是使用只能使用于构造方法中,
②this()调用本类的构造,如果括号内有形参,则是调用本类的与之相对应参的构造方法;super()调用父类指定的构造方法,
③都只能写在构造方法的第一句;
④super()可以不写,在不写的时候会默认调用父类的无参构造,
⑤this()与super()不能共存,两者只能使用一个。
java中的super和this_在Java中super和this的区别相关推荐
- java中super用来定义父类,Java中super的几种用法及与this的区别
综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...
- java关于包的叙述_Java中构造方法,包的引用,final,super等词的概括
final修饰的类不允许被继承. 一个类不能既是final的,又是abstract的.因为abstract的主要目的是定义一种约定,让子类去实现这种约定,而final表示该类不能被继承,两者矛盾. f ...
- Java中<? super T>和List<? extends T>的区别
Java中<? super T>和List<? extends T>的区别 <? extends T> 下面通配符声明List<? extends Numbe ...
- java中this_夯实Java基础系列7:一文读懂Java 代码块和执行顺序
目录 #java中的构造方法 #构造方法简介 #构造方法实例 #例-1 #例-2 #java中的几种构造方法详解 #普通构造方法 #默认构造方法 #重载构造方法 #java子类构造方法调用父类构造方法 ...
- java super是什么意思_java中Super到底是什么意思
要说super就先要说this. "this",作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递.this(a,b)表示调用另外一个构造函数.这里面的this就是一个 ...
- java中super可以重新父类么_Java Super 覆盖方法
子类从父类中继承方法,有时候,子类需要修改父类中定义的方法的实现,这称作方法覆盖. 比如,GeometricObject类中的toString方法返回表示集合对象的字符串,这个方法就可以被覆盖,返回表 ...
- java.lang类在电脑哪个位置_Java中的java.lang.Class API 详解
且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...
- getvalue函数怎么使用_Java中的构造函数——通过示例学习Java编程(14)
作者:CHAITANYA SINGH 来源:通过示例学习Java编程(14):Java中的构造函数-方家话题 构造函数是用来初始化新创建的对象的代码块.构造函数类似于java中的实例方法(Instan ...
- akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...
Akka Scala演员必须扩展akka.actor.Actor Akka Java actor必须扩展akka.actor.UntypedActor 因此,在使用非默认构造函数定义Scala act ...
最新文章
- http 的一生: 一、特点与 URL解析
- ustc小道消息20220102
- 【爬坑】Vim 文档加密 解密
- 华为备份历史版本_华为手机NAS备份时提示“需处于同一局域网”的解决方法
- (转)oracle表分区详解
- HTML5 canvas 模拟事件
- error Microsoft Visual C++ 14.0 is required 解决方案
- 水平面天文辐射网络模拟(基于ArcGIS)
- 20200125每日一句
- python之函数习题
- 小白手动安装Win10系统
- java sql date 时分秒_java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间...
- 中科呐喊WiFi热点广告机APP使用教程(安卓)
- 【Python学习笔记】超详细Python快速入门教程(下)
- C#Windows学生信息管理系统
- 手机淘宝宝贝详情页《问大家》数据爬虫手把手实战,包含动态参数如何生成...
- org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException:错误
- win10一行命令查看所有wifi密码
- git打patch__2019.08.07
- Redis学习一:Redis两种持久化机制
热门文章
- 海门开发区机器人项目_点赞!海门“经洽会”现场签约10亿元以上项目21个
- 啊哈算法-DFS解救小哈python版
- html网页在图片的后面同一行追加,htmlcss
- 记 · 七言古诗 · 劝学
- 医咖会stata 笔记(自己能看懂版
- 手把手教你如何将chatgpt接入微信公众号
- 孕育独角兽独立融资上市,互联网巨头都藏着什么“阳谋“?
- [重装系统]戴尔DELL新BIOS设置U盘启动
- android直播sdk+美颜,直播中有没有美颜SDK有何区别?
- 第四篇、代理模式详解(三种)