1、.当在内部类中使用this指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名.this来访问。

2、在java中,每个class都有一个相应的Class对象,当编写好一个类,编译完成后,在生成的.class文件中,就产生一个Class对象,用来表示这个类的类型信息。获得Class实例的三种方式:

1). 利用对象调用getClass()方法获取该对象的Class实例
2). 使用Class的静态方法forName(),用类的名字获取一个Class实例
3). 运用.calss的方式获取Class实例,对基本数据类型的封装类,还可以采用.TYPE来获取对应的基本数据类型的Class实例。

以下是TestClass.java代码:

public class TestClass {
public static void main(String[] args) {
// 在运行期间,如果我们要产生某个类的对象,java虚拟机会检测该类型的Class对象是否
//已被加载。如果没有加载,java虚拟机会根据类的名称找到.class文件并加载它。
//当new Point()的时候加载这个类,用forName构造实例的时候也加载该类。 只加载一次
System.out.println("before new Point()");
new Point();
System.out.println("after new Point()");
try {
Class.forName("Line");
} catch (Exception e) {
e.printStackTrace();
} // 利用对象调用getClass()方法获取该对象的Class实例
Point pt = new Point();
Class c1 = pt.getClass();
System.out.println(c1.getName()); // 结果:Point // 使用Class的静态方法forName(),用类的名字获取一个Class实例
try {
Class c2 = Class.forName("Point");
System.out.println(c2.getName()); // 结果:Point
Point pp = (Point) c2.newInstance(); //一旦某个类型的Class对象已经被加载到内存,就可以用它来产生该类型的所有对象。
//newInstance()调用类中缺省的构造方法。
pp.output();
} catch (Exception e) {
e.printStackTrace();
} // 运用.class的方式获取Class实例(类)
Class c3 = Point.class;
System.out.println(c3.getName()); // 结果:Point // 运用.calss的方式获取Class实例(基本类型)
Class c4 = int.class;
System.out.println(c4.getName()); // 结果:int // 运用.class的方式获取Class实例(基本数据类型的封装类)
Class c5 = Integer.TYPE;
System.out.println(c5.getName()); // 结果:int
Class c6 = Integer.class;
System.out.println(c6.getName()); // 结果:java.lang.Integer
}
} class Point {
static {
System.out.println("loading point");
} void output() {
System.out.println("x=" + x + ",y=" + y);
}
int x, y;
} class Line {
static {
System.out.println("loading Line");
}
}

类名.this与类名.class的更多相关文章

  1. 类名.class 与 类名.this 详解

    类名.class 与 类名.this 详解 今天在看 PropertyPlaceholderConfigurer 源码时,突然看到一个 PropertyPlaceholderConfigurer.th ...

  2. 类名.class与类名.this详解

    类名.class      我们知道在java中,一个类在被加载的时候虚拟机就会自动的生成一个这个类的一个Class类型的“类对象”,每个类都对应着一个这样的类对象,通过这个Class类型的类对象,我 ...

  3. Java 类名.class与类名.this 的区别?

    “类名.this”的语法在Java语言中叫做“qualified this”.相关规定在这里:Chapter 15. Expressions - Qualified this这个语法的主要用途是:在内 ...

  4. 原生js添加类名,删除类名

    1.添加类名: document.getElementById("myDiv").classList.add('mystyle'); 2.删除类名: document.getEle ...

  5. 引用变量类型的加载顺序(类名+引用名=new +类名();)

    程序如下: 运行结果如下: 以上结果说明:同一个引用名称(可以把它当做变量的一种类型)可能指代不同的对象,依据同一个引用是否处于同一个初始化的层次,决定是否在完成: static Cup c1=new ...

  6. 解决eclipse双击类名、选中类名出现假死或者非常慢的问题(取消Eclipse鼠标悬停和自定义快捷键)

    eclipse(MyEclipse)关闭鼠标移动提示代码功能和自定义快捷键代码提示设置的方法 eclipse(MyEclipse)关闭鼠标移动提示代码功能: eclipse(MyEclipse)--& ...

  7. 转:java 类名 this 的使用

    转自: http://www.cnblogs.com/PengLee/p/3993033.html 类名.class与类名.this详解   类名.class      我们知道在java中,一个类在 ...

  8. vue里的样式添加之类名改动 和style改动

    类名下有不同样式,通过增加或者减少类名,来增加或减少样式. v-bind:class = {类名:变量,类名:变量...}  变量为布尔值,如果是true则类名添加,反正类名不添加到该元素身上 v-b ...

  9. css选择器(1)——元素选择器、类名和id选择器

    css的主要优点之一就是它能很容易地向所有同类型的元素应用一组样式.当然它是通过选择器来实现这一点的. 基本规则结构: 语法= 选择器 +声明块 1.元素选择器——直接使用html元素名,指向文档元素 ...

随机推荐

  1. 如何让你的Python程序支持多语言

    如何让你的Python程序支持多语言 本文介绍如何通过Python标准库gettext帮助你的程序支持多语言. 代码例子 import random guessesTaken = 0 print(_( ...

  2. MVC中的路由

    authour: chenboyi updatetime: 2015-05-02 16:10:04 friendly link:   目录 1,思维导图 2,MVC处理机制简图(讲解路由解析) 3,默 ...

  3. 转:微博"收藏/赞/转发"技术资料汇总

    书籍 HTTP权威指南 <- @Fenng Introduction to Information Retrieval <- @陈利人 Lua 源码欣赏 <- @简悦云风 The A ...

  4. BROCADE 300和MD3200扩展柜FC SAN,截图

    这表示俺玩过,其实,这个光交换机在只有一个共享存储的情况下,可用可不用. FC BROCADE只是为了方便后期扩展. FC SAN之类的识别不靠IP,因为不是IP SAN嘛.但也是自己的识别体系.

  5. 【HDOJ】1474 Always On the Run

    普通DP.基本和floyd一个思路. /* 1474 */ #include <cstdio> #include <cstring> #include <cstdlib& ...

  6. POJ1321 棋盘问题(dfs)

    题目链接. 分析: 用 dfs 一行一行的搜索,col记录当前列是否已经放置. AC代码如下: #include <iostream> #include <cstdio> #i ...

  7. POJ2253 Frogger(最短路)

    题目链接. 题意: 从0号点,到1号点,找一条能通过的路,使得这条路中的最大的边,比其它所有可能的路中的边都小. 分析: 这题就是按着dijkstra写,写着写着觉得像是prim了. 其中d[n]表示 ...

  8. LBS 与 GPS 定位之间的区别

    什么是LBS定位?   LBS英文全称为Location Based Services, 它包括两层含义:首先是确定移动设备或用户所在的地理位置:其次是提供与位置相关的各类信息服务.意指与定位相关的各 ...

  9. CentOS环境下,gdb调试中出现:Missing separate debuginfos, use: debuginfo-install.....的问题

    在gdb调试时segmentation fault问题时,遇到下面的了问题: Program received signal SIGABRT, Aborted.0x00007ffff73eb925 i ...

  10. js接收后台时间数据变成秒处理为正常格式

    在做项目时,后台数据json传到前台ajax,数据中包含DateTime格式的数据,前台js操作时间数据的时候却发现日期变成了秒格式 js能对日期操作的那些方法均不能使用了,例如getDay()等等, ...