首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java之 public classclass 的区别

总结: 1. public classclass 的区别 一个java源文件当中可以定义多个class 一个java源文件当中public的class不是必须的 一个class会定义生成一个xxx.class...字节码文件 一个java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致 每一个class当中都可以编写main方法,都可以设定程序的入口,向执行B.class中的main...方法: java B,想执行x.class当中的main方法:java x 注意:当在命令窗口中执行java Hello,那么要求hello.class当中必须有主方法。...通过以上的测试可以得出:一个 java 源文件中可以定义多个 class,并且在编译的时候一 个 class 会对应编译生成一个 class 字节码文件。...还有,在实际的开发中,虽然一个 java 源文件可以定义多个 class,实际上这是不规范的, 比较规范的写法是一个 java 源文件中只定义一个 class

1.5K10

JavaClass对象

Class对象 在Java中有两种对象:Class对象和实例对象,实例对象是类的实例,通常是通过new关键字构建的。Class对象是JVM生成用来保存对象的类的信息的。...Java程序执行之前需要经过编译、加载、链接和初始化这几个阶段,编译阶段会将源码文件编译为.class字节码文件,编译器同时会在.class文件中生成Class对象,加载阶段通过JVM内部的类加载机制,...Class对象的获得 2.1 类名.class 当执行类名.class时,JVM会先检查Class对象是否装入内存,如果没有装入内存,则将Class对象装入内存,然后返回Class对象,如果装入内存,则直接返回...反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制...Class对象的获得是Java反射的基础,Java的反射是另一块内容,本文不涉及。

59210

.java编译成.class 与 .class反编译成.java

了解下这两个文件类型:.java文件是给人看的,.class是给计算机看的。程序员编写的是.java文件,经编译后生成.class文件给计算执行。 相信这两句话很形象的说明了这两个文件的关系了。...当然jd-gui不能编译.class文件。 2,怎么把.class转成.java文件呢?也是在jd-gui文件里面。...点击要转的文件,然后file–>save Source,如下图: 保存后就是.java文件了。当然可以直接保存整个jar包,也可以是单个文件。 3,eclipse里面怎么看.class文件?...新建的一个.java文件有.class的前提是要编译成功,比我常用的项目是maven工程,要先maven install编译才能生成“完整的”.class文件,单单保存是不行的,这里下面会有说明。...eclipse可以通过ctrl+shift+R,然后输入类名,可同时看到.class和.java文件。 4,怎么编译单个的java文件呢?

2.4K20

Java泛型的协与逆

导读 泛型是Java最基础的语法之一,众所周知:出于安全原因,泛型默认不能支持型(否则会引入危险),因此Java提供了通配符上限和通配符下限来支持型,其中通配符上限就泛型协,通配符下限就是泛型逆...泛型默认不支持型 为了避免重蹈Java数组的覆辙,Java泛型显然不能再继续支持默认的型。...例如如下程序: import java.util.*; public class GenericNoVariance { public static void main(String[] args)...例如如下程序: import java.util.*; public class GenericCovariance { public static void main(String[] args)...—除非你把取出的集合元素总是当成Object处理(众生皆Object) 例如如下程序: import java.util.*; public class GenericContravariance {

1.2K40

Java泛型的协和逆

背景 文接上回,说到过Java的泛型擦除问题,这块我又联想到一个有意思的考点泛型的协和逆。...一、协 首先Java的数组是协的,所以假设A是B的父类,那么A[]是可以保存A或者B的对象的,并且A[]是B[]的父类。 ,写谁都会写,子类型限定。...根因是Java的泛型没有协类型,无法关联起来,也就没有关系。 利用通配符,?代表子类,T为父类。 常见的例子比如,List<?...二、逆 ,超类型限定。 逆同样也是在各类源码中层出不穷,结合协的理解,这块相信大家应该不难理解。 常见的例子比如,List<?...理解它,也可以通过Java的继承关系, 假设存在继承关系Object-》T、T-》A、T-》B; 即T为A、B的父类,协面向子类;逆面向Object,它是所有对象的父类。

62400

Java- Class.forName() 和 Xxx.class

每个类都有一个Class对象。就是说,每当编写并且编译了一个新类,就会产生一个Class对象,被保存在一个同名的.class文件中。c 所有的类都是在第一次使用时,动态加载到JVM中的。...一旦某个类的Class对象被载入内存,它就被用来创建这个类的所有对象。...Class.forName("Gum") 这个方法是Class类的静态方法,需要用一个包含目标类的文本名(注意拼写和大小写)的String作为输入参数,返回的是Class对象的引用。...另外,使用newInstance() 来创建的类,必须带有默认的构造器 Java还提供了另一种方法来生成对Class对象的引用,对上述程序可以这么写:FancyToy.class; 这样做不仅要简单,而且更安全...当使用.class来创建对Class对象的引用时,不会自动地初始化该Class对象。

58010

Java泛型的协和逆

背景 文接上回,说到过Java的泛型擦除问题,这块我又联想到一个有意思的考点泛型的协和逆。...一、协 首先Java的数组是协的,所以假设A是B的父类,那么A[]是可以保存A或者B的对象的,并且A[]是B[]的父类。 ,写谁都会写,子类型限定。...根因是Java的泛型没有协类型,无法关联起来,也就没有关系。 利用通配符,?代表子类,T为父类。 常见的例子比如,List<?...二、逆 ,超类型限定。 逆同样也是在各类源码中层出不穷,结合协的理解,这块相信大家应该不难理解。 常见的例子比如,List<?...理解它,也可以通过Java的继承关系, 假设存在继承关系Object-》T、T-》A、T-》B; 即T为A、B的父类,协面向子类;逆面向Object,它是所有对象的父类。

48750
领券