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 ...
最新文章
- Android ViewTreeObserver简介-------------转
- 【排序算法】图解桶排序
- J2EE如何生成验证码图片和点击刷新验证码
- sql python tableau_Python+SQL+Tableau神组合,金融/咨询/互联网等抢着要的商业分析必备技能!...
- MFC工作笔记0009---VC++中 PostMessage和SendMessage的区别
- 重置User Profile
- 用计算机算非,在线计算器上的与、或、非、异或等逻辑运算键如何使用?
- opengles系列-绘制三角形
- linux配置https站点
- Altium Designer19 生成Gerber文件方法
- IReport导出PDF字体加粗失效
- COMPASS数据上报总结
- 阿里云服务器申请免费ssl证书
- 安装 centos8 设置基础软件仓库时出错
- Zope/Plone内容管理系统的探讨与应用
- Python爬虫抓取LeetCode题解,获取力扣中国(leetcode-cn.com)提交代码,自动保存submission到本地,同步上传到github
- 交叉编译OpenCV3.4.1报错
- 哇!這就是青春痘(上)
- android x86 v2ex,v2ex-android
- Python自我学习笔记
热门文章
- Asp连接Oracle (包含绿色版12.2客户端和ODBC驱动安装)
- 分别用线性规划和动态规划求解打家劫舍问题(力扣198)
- telnet出现端口23连接失败解决办法
- uniapp自定义导航栏与手机状态栏重叠问题
- Java爬取frame的课程表_超级课程表一键提取课程功能app及课表静态网页内容
- 【AnimeJs】——仿Animejs徒手实现SVG动画
- 3.5 基本属性测试
- 英语学习——长难句01
- 戴尔微型计算机重装WIN10系统,戴尔品牌机如何重装win10系统
- rtl语言_21个最佳RTL WordPress主题(从右到左语言)