面试小结(java基础)
一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?带着这个疑惑,动手建几个测试类,
揭开心中的疑惑。以下是解开疑惑过程:
package test;
/**
* 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
* 可以的
*但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。
*如果都没有public类,名字可以不和这个类一样。
*/
public class MultiClass {
int i = 0;
}
class B {
String str = "b";
}
class C {
String str = "c";
}
/*源文件javac出多个class文件出来!是怎么回事?
1. 你在一个文件里定义了几个类的时候,会出现这种情况,比如
public class A {}
class B {}
class C {}
这样每个 class 会是一个 .class 文件
2. 你定义了内部类的时候会出现这种情况,如
public class A {
class B {
}
}
这会产生两个 class 文件,一个 A.class,一个 A$B.class
3. 使用了匿名类的时候出出现这种情况,如
public class A {
void xxx() {
button.addActionLisener(new ActionListener() {...});
}
}
这也会产生多个 class,一个 A.class,一个 A$1.class
}
*/
java文件允许有多个class,但是只能有一个用public修饰。因为java的编译机制是从这个public开始的。如果,你加的这个里面方法不是public static void main(),编译机制就会出错了。而且,你加的这个public的class名必须是你java文件的文件名,否则也无法编译。
package testclass;
public class classone {
public static void main(String[] args) {
Test tes=new Test();
Test.innertest inner=tes.new innertest();
inner.names();
System.err.println("main");
tes.name();
}
}
class Test{
public class innertest{
public void names()
{
System.err.println("test");
}
}
public void name() {
System.err.println("Test");
}
}
面试小结(java基础)的更多相关文章
- 一份最贴近真实面试的Java基础面试题
这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...
- 【Java面试】java基础篇
总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,Stri ...
- 【JavaEE】企业面试问题-Java基础
1. Java基础部分 1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思? 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的 ...
- Java面试17|Java基础
Linux上配置Java基础环境: https://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html 1.final相关 (1)fin ...
- Java面试系列--java基础
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...
- java面试:java基础、Io、容器
1.java基础 1.JDK 和JRE有什么区别 JDK:java开发工具包,java开发运行环境.包含了JRE. JRE:java运行环境,包含java虚拟机,java基础类库. 2.jav ...
- [Java面试二]Java基础知识精华部分.
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- Java面试之Java基础问题答案口述整理
Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...
- 面试2——java基础2
11.MVC设计模型 mvc设计模型是一种使用model-view-controller(模型-视图-控制器)设计创建web应用程序的模式.是一种开发模式,好处是可以将界面和业务逻辑分离. model ...
- 面试2——java基础1
1.int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象 ...
随机推荐
- 12个强大的Web服务测试工具
在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...
- [转载]opencv MSER
最大稳定极值区域(MSER-Maximally Stable Extremal Regions)可以用于图像的斑点区域检测.该算法最早是由Matas等人于2002年提出,它是基于分水岭的概念. MSE ...
- 细谈Java
重载:相同函数名,不同参数. 重写(覆写):父类和子类之间的,子类重写了父类的方法. java的多态:重载+覆写 1. Main方法: 是public的,也是static,也是void的,参 ...
- sonarQube Scanner
到现在为止,已经将sonarQube服务器搭建好,服务器是Linux服务器,基于sonarQube6.1配置的 原理关于sonarQube的工作原理,暂时还不是太清楚,据同事的分析,是在本机调用服务器 ...
- NET设计模式-单例模式(Singleton Pattern)
1. 概述 Singleton Pattren 要求一个类有且仅有一个实例,并且提供一个全局变量.这个创建的对象是独一无二的,在这个单独对象实例中,集中所创建类的所有属性和方法. 在创建一个单例,何时 ...
- js事件的方法
事件的方法:onclick 鼠标单击ondblclick 鼠标双击onkeyup 按下并释放键盘上的一个键时触发 onchange 文本内容或 ...
- (转)百度Map API
转自 http://blog.sina.com.cn/s/blog_6079f38301013sb3.html 一.与地图操作相关的接口哦! (这些接口的开启都是写在执行成功的回调函数那里) map ...
- C#控件列表
ID 类 控件 备注(+窗体 共64个控件) 公共控件 1 Form 属性 方法 事件 2 Button 属性 方法 事件 3 checkbox 属性 方法 事 ...
- delphi TSaveDialog
TSaveDialog 预览 实现过程 动态创建和使用保存文件对话框 procedure TForm1.Button1Click(Sender: TObject);begin wi ...
- 银行B2C直连
银行B2C直连: 1. 银联B2C直连流程: 注: 所有银行B2C接入方式均为此流程. 不同银行只是签名及验签方式不一致,请求及返回参数不一样,其他的一致. 2. 银行B2C支付请求: 交易流程: ( ...