super.getClass()方法调用

简介:

package com.zzk.cn;

import java.util.Date;

public class Test extends Date{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) {
		new Test().test();
	}
	
	public void test() {
		/***
		 * 由于getClass()在Object类中定义成了final, 子类不能覆盖该方法
		 * 所以在test方法中调用getClass.getName()方法,其实就是在调用从父类继承的getClass()方法,等效于调用super.getClass().getName()方法,所以super.getClass().getName()返回的也是test
		 */
		System.out.println(super.getClass().getName());
		
		System.out.println(getClass().getName());//直接调用,返回test类名
		
		System.out.println(getClass().getSuperclass().getName());//如果想得到父类的名称,采用如下方法
	}

}



输出结果:

com.zzk.cn.Test
com.zzk.cn.Test
java.util.Date




目录
相关文章
|
1月前
|
Java 程序员 编译器
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
26 0
|
5月前
|
Java 测试技术
Java反射之Method的invoke方法详解
Java反射之Method的invoke方法详解
定义类,super的使用,super的使用
要求: a.需要有一个类变量 b.需要有>=2个的对象变量 c.定义一个方法:打印类变量和对象变量 d.使用print打印对象->输出为This is a object e.实例化两个对象:且两个对象相加等于2 f.为对象添加一个临时变量temp_var
52 0
|
存储 Java
重写equals方法
我们在java程序中调用自带的equals方法时,你是否会有这样的疑问:明明我比较的数据都一样啊,为什么会返回false呢?有些人可能还会疑问,怎么有时候返回true?有时候返回false呢?这是为什么呢?其实是和Java底层人家写的equals方法逻辑有关系
|
Java Android开发
构造器里面的super()有什么用?到底写不写?
平时写的单独一个类如果没有直接继承父类就是直接继承的Object,有父类就是间接继承的Object,因为父类会继承Object,java的所有类都是Object的子类,哪怕不写super(),也会默认调用的父类的空构造器。
111 0
JAVA中子类使用super.getClass()方法
JAVA中子类使用super.getClass()方法
|
Java
java方法重写(Override)
1.重写的概念 重写是子类对父类(或爷爷及以上类)的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 2.实现一个简单的Demo 父类:
119 0
java方法重写(Override)
重写toString()这个来自Object类的方法的意义
重写toString()这个来自Object类的方法的意义
120 0
|
缓存 安全 Java
Java反射包下的Method类中的Invoke方法
Java反射包下的Method类中的Invoke方法
167 0
Java反射包下的Method类中的Invoke方法