Java学习笔记之this与super的作用

?

调用类中变量的写法实际上应该是:对象名.变量名

1.this代表调用该成员的对象,通常对象名被省略,即省略了this.但是在有同名变量参与时不可省略。如下面的情形:

public void setNum(String num)
{
this.num = num;
}

?

2.当在同一个类中的一个构造函数中调用另一个构造函数时,就可以使用this来直接调用。但是在使用时,含有this的这句话必须放在代码块的第一行。如下面的情形:

public Time(long totaltime)//以特定时间(ms)构造time对象的构造方法
					
{
				

						this(totaltime / 1000, totaltime / 60000, totaltime / 3600000);//调用以特定时,分,秒为参数的构造方法,传入转化后的流失时间
					
}
				

?

public Time(long totalsecond, long totalminute, long totalhour)
													
{
				

						/*将已流失的时间转化为当前的时间*/
						

					currsecond = totalsecond % 60;
										

					currminute = totalminute % 60;
										

					currhour = totalhour % 24;
										
}

3

super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。

super的使用方法有三种:

(1) 调用直接父类的构造方法,其使用形式如下:

super(参数)

另外,当一个子类的构造方法中没有super的任何形式的时候,系统就会默认在子类的构造方法中的第一行加上一句空参数的super();也就是说,只要子类有构造方法,那么这个构造方法里必然对父类的构造方法进行了调用,要么是默认的隐藏的super();要么是编程者定义的super(其他参数);

(2) 调用直接父类中被覆盖的成员方法,其使用形式如下:

super.成员方法(参数)

(3) 访问直接父类隐藏的数据成员,其使用形式如下:

super.数据成员

?

时间: 2024-07-31 15:59:21

Java学习笔记之this与super的作用的相关文章

疯狂java学习笔记之面向对象(七) - super关键字

super有以下两大作用: 1.起限定作用:强制去访问父类的成员(Field.方法) 2.起调用作用:指定/显示调用父类的某个构造器 super调用规则: 1.子类构造器总会调用父类构造器一次,默认情况下子类构造器会自动调用父类无参数的构造器; 2.若希望明确指定子类构造器调用父类哪个构造器,可以用super(参数,参数,....),到底调用哪个父类构造器取决于super后面传入的形参列表; 3.this()调用与super()调用都必须出现在构造器的第一行,所以他们两个调用时不能同时出现的.

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

java学习笔记14--多线程编程基础1

本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为一个进程,例如:用字处理软件编辑文稿时,同时打开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程 进程要占用相当一部分处理器时间和内存资源 进程具有独立的内存空间 通信很不方便,编程模型比较复杂 多线程 一个程序中多段代码同时并发执行,称为多线程,线程比进程开销小,协作和数据交换容易

Java学习笔记之继承

一.继承的基础 在Java术语中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass). 举例说明: 1 class Box 2 { 3 public double width; 4 public double height; 5 public double depth; 6 7 //重载构造方法 8 public Box(Box ob) 9 { 10 width = ob.width; 11 height = ob.height; 12 depth = ob.dep

Java 学习笔记(2015.7.13~17)

Java 学习笔记(2015.7.13~17) Java this关键字 表示本类中的属性,调用本类中的方法 class Person {        private String name;         private int age;         public Person(String name, int age) {         this.name = name;//调用本类中的属性         this.age = age;//同上} //get&set方法:    

[Java学习笔记]对象克隆

对象克隆: 浅克隆: 被克隆的对象中的值类型数据被复制一份新值,但是引用的对象只被复制其引用传递给新克隆出来的对象 深克隆: 被克隆的对象中的值类型数据被复制一份新值,并且其中引用的对象会重新创建新的对象,把新对象的引用传递给新克隆出来的对象 Java中实现克隆: Java中Object中定义了clone方法,默认为浅克隆操作,即你只是简单super.clone得到的结果是浅克隆的结果,如果需要深克隆,则需要实现Cloneable接口,并且重写clone方法 查看Java源代码发现Object中

java学习笔记16--异常

java学习笔记16--异常 异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失, 所以在程序的设计中必须要考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序正常的执行. 异常类的继承结构 在整个java的异常结构中,实际上有以下两个最常用的类:Exception.Error,这两个类全都是Throwable的子类 Exception:一般表示的是程序中出现的问题,可以直接使用try...catch处理. Error:一般指

Java学习笔记_26_泛型概述

                                                               泛型概述 在Java中存入容器中的对象再取出时需要转换类型,因为对象加入容器会被转换成Object类型,而取出时要转换成实际类型.但向  下类型转换都 是存在潜在危险的,因此应该尽量避免它们.  Java的泛型: 所谓泛型就是在定义(类.方法.形参.成员变量等等)的时候,指 定它们为通用类型,也就是数据类型可以是任意类型. 泛型为提高大型程序的类型安全和维护带来了很大的潜