51.类注释必须放在import语句之后,直接放在class定义之前。方法注释必须紧靠着放在它所描述的方法前面 。
52.在Java中任何继承都是共有继承。
53.如下代码
public class Employee{
private int salary;
....
public int getSalary(){
return salary;
}
.....
}
public class Manager extends Employee{
private int bonus;
....
public int getSalary(){
int basesalary;
basesalary=super.getSalary();//super关键字表示调用基类的函数。
return basesalary+bonus;
}
....
}
54.看下面的代码:
public class Test{
public static void main(String [] args){
data []aa;
aa=new data[3];
}
static
{System.out.println("124");}
{System.out.println("sadf");}
}
class data{
public int a;
data(){}
{System.out.println("sadf");}
static
{System.out.println("iuwe78789");}
}
在定义data对象时其里面的初始化块没有执行,为什么?
解答:Java语言是解释执行的,对于主类中的静态初始化块,程序一进入就会触发主类,所以 主类的静态块会被执行,但上面的代码中虽然用data定义了数组,同时也给数组分配了 三个存储空间,但没有触发其类,因为分配的存储空间不是类的对象,所以类中的静态 块类也就不执行。假如把data类中的public int a;改为public static int a;然后在 Test类中增加data.a=1;就会触发data类,从而data类中的静态块就会被执行。
55.在C++中也能够写出不允许被派生的类,问如何写这些类?(提示:使用虚基类)。
56.用instanceof 可以判断一个类对象是否属于一个类。
例如 if( staff instanceof Manager){}//Manager是定义的一个类,staff是一个对象
57.Java使用的类型转换语法来自于C语言"糟糕的旧时代",工作方式类似于C++的安全dynamic_cast操作符。例如,Manager boss=(Manager)staff;//java
他等同于:Manager *boss=dynmic_cast<Manager *>(staff);//C++
在Java中,如果类型转换失败,不会生成一个null对象,而是抛出一个异常。在这个意义上,它类似于C++中的引用类型转换。在C++中,你可以在一个操作里进行类型测试和类型转换:
Manager * boss=dynamic_cast<Manager*>(staff);//C++
if(boss!=NULL){....}
而在Java中,你需要把类型转换和instanceof操作符结合起来使用:
if(staff instanceof Manager){
Manager boss=(Manager)staff;
...
}
58.abstract关键字为抽象的意思,如果类用abstract关键字修饰则表示这个类为抽象类。一个方法用abstract关键字修饰表示这个方法为抽象方法。抽象类不能够创建对象。
在C++中如果含有一个纯虚函数,那么这个类为虚类,那么在Java中是否一样呢?是否类含有一个抽象的方法这个类就是一个抽象类?
抽象类可以定义变量,但那变量必须指向其子类为非抽象类的对象。
59.Java中protected保护的字段于C++中的protected保护的字段有较大的区别:
在Java中,protected保护的字段级可以被子类访问,还可以被同一包中的其他类访问。而在C++中只能被子类访问。所以Java中的protected关键字的安全性要比C++中的弱。
60.关于Object类:
Object类是Java中所有类最终的祖先---每一个类都由它扩展而来。在不明确给出超类的情况下, Java会自动把Object作为要定义类的超类。
疑问:抽象类也由Object类派生而来?
解答:所有类都有Object类派生而来,其中当然也包含了抽象类
61.Object类中的equals方法用于测试某个对象是否同另一个对象相等。它在Object类中的实现是判断两个对象是否指向同一块内存区域。
62.Java语言规范要求equals方法具有一下特点:
1)自反性,对于任意非空引用x,x.equals(x)应返回true;
2)对称性,对于任意引用x,y,当且仅当y.equals(x)返回为true时,x.equals(y)返回为true;
3)传递性,对于任意引用x,y,z,如果x.equals(y)返回为true且y.equals(z)返回为true时, x.equals(z)返回为true;
4)一致性,如果x和y引用的对象没有改变,那么对x.equals(y)的重复调用应返回同一结果;
5)对任意非空引用x,x.equals(null)应返回false。
63.Java中的Class类和C++中的type_info类相似,而getClass方法等同于C++中的typeid操作符。不过Java中的Class类要比C++中的tyep_info功能强大。C++的type_info只能展现一个类型的名字字符串,却不能创建那个类型的对象。
疑问:C++中的type_info类和typeid操作符如何使用?
64.什么叫反射器?
能够分析类的能力的程序称为反射器。
65.以下编译错误说明了什么?
1.Test3.java:59: 类 Employee 是公共的,应在名为 Employee.java 的文件中声明
public class Employee extends Person{.... }
2.Test3.java:59: 此处不允许使用修饰符 private
private class Employee extends Person{...}
3.Test3.java:55:缺少方法主体或抽象声明
public String setName(String aa);//这是抽象类Person类中的成员函数
66.对于静态字段在定义时可以直接赋值,例如在类中写:static int i=1;
67. 在Java中接口不是类,不能用new操作符实例化接口,而是一组对类的要求,这些类要与接口一致。
68.接口中绝不能有实例字段,而且接口中也绝不会去实现方法。
69.要让类实现一个接口,需要下面两个步骤:
1.声明类想要实现指定的接口。
2.对接口中所有的方法进行定义。
声明类要实现的接口需要使用implement关键字。
70.如何让一段代码执行下面的功能
如果try中抛出了异常在catch中抓住了,就再一次进入try。按照这个思路我们设计一个循环实现,具体代码如下:
while(true){
try{
String str;
str=JOptionPane.showInputDialog("请输入一个数字");
input=Integer.parseInt(str);
}
catch(NumberFormatException e){
continue;
}
break;
}
71.在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
72.接口没有构造器,也就不能创建对象的原因之一。
73.使用下面的步骤,可以得到屏幕大小。
调用ToolKit类的静态方法getDefaulToolKit得到一个ToolKit对象。(ToolKit类包含很多和本地窗口系统打交道的方法)
然后调用getScreenSize方法把屏幕尺寸作为一个Dimension对象返回。
Dimension对象d使用共有的(!)实例变量width和height存储了宽度和高度。
下面为相关代码:
ToolKit kit=ToolKit.getDefaultToolKit();
Dimension screenSize=kit.getScreenSize();
int screenWidth=screenSize.width;
int screenHeight=screenSize.height;
74.如何自定义光标类型
我们可以使用ToolKit类的createCustomCursor方法定义自己的光标类型:
ToolKit tk=ToolKit.getDefaultToolKit();
Image img=tk.getImage("dynamite.gif");
Cursor dynamiteCursor=tk.createCustomCursor(img,new Point(10,10),"dynamite stick");
createCustomCursor方法中的第一个参数指向光标图像。第二个参数给出了光标的热点偏移。第三个参数是描述光标的一个字符串。改字符串可以用于访问性支持,例如把此光标形状读取给视力受损人士或者没有面对屏幕的用户。
75.如果局部内部类中的方法要访问外部方法中的变量,外部方法中的变量必须声明为final类型的变量。
76.假若byte的值为负数,加上 256 把它转换成无符号的整数值。
77.有一个函数名为:public String valueToString(Object value) throws ParseExcetption{
......
}
请问:函数名后面跟的 throws ParseExcetption 有什么作用?
78.在Swing中,文本区没有滚动条。如果你需要滚动条,你必须把文本插入到一个滚动窗格中。然后,把该滚动窗格插入进内容窗格中。
testArea =new JTextArea(8,40);
JScrollPane scrollPane=new JScrollPane(textArea);
contentPane.add(scrollPane,BorderLayout.CENTER);
79.一般情况下在什么地方设置背景颜色?
80.如何在Swing中实现单选框按钮?
首先为按钮组构造一个ButtonGroup类型的对象。
接着,把JRadioButton类型的对象添加到该按钮组中。
ButtonGroup group=new ButtonGroup();
JRadioButton smallButton=new JRadioButton("Small",false);
JRadioButton mediumButton=new JRadioButton("Medium",true);
JRadioButton bigButton=new JRadioButton("Big",false);
groud.add(smallButton);
groud.add(mediumButton);
groud.add(bigButton);
81.为什么增加了按键消息却不相应?
82.throw 和throws的区别?
83.所有的applet将会扩展JApplet类,而JApplet类是所有基于Swing技术的applet的超类。
84.如果applet包含Swing组件就必须扩展JApplet类。在Applet类中Swing组件不会正确显示。
85.为什么applet不要main方法?
浏览器自己加载。
86.将应用程序转换成applet的详细步骤
1)创建一个HTML页面,它有合适的标记来装载applet代码。
2)创建一个JApplet的子类。将该类标记为public,否则applet代码。
3)删除应用程序中的main方法。因为应用程序会在浏览器中显示,因此不要构造框架窗口。
4)将所有的初始化代码从框架窗口的构造器中移到applet的init方法中。不需要显示地构造applet对象---浏览器会实现实例化一个该对象并且调用init方法。
5)删除对setSize的调用。对于applet而言,大小通过HTML文件中width和height参数指定。
6)删除对setDefaultCloseOperation的调用。applet不能被用户关闭。当浏览器退出时applet才会终止运行。
7)如果应用程序调用了setTitle方法,删除该调用。applet没有标题。
8)不要调用show方法。applet会自动显示。
87.applet提供的四个方法:init,start,stop,destory。
1)init:当初始化applet时就要使用该方法。它类似于构造器----当Java第一次运行applet时, 系统会自动调用该方法。在applet中,该方法的通常动作是对param参数进行处理以及增加用 户界面组件。applet可以有默认构造器,但是习惯上是在init方法中而不是在默认构造器中 进行全部的初始化工作。
2)start:当Java调用init方法后会自动调用该方法。而当用户从其他页面方法到包含applet的 页面时,该方法也被调用。这表示start方法会被多次调用,而init方法仅仅被调用一次。 start方法是applet中重新启动线程的地方。
3)stop:该方法在用户离开包含applet的页面时会被自动调用。对同一个applet,该方法会被多 次调用。
4)destory:仅仅在浏览器正常退出时,该方法才会被调用。因为applet仅仅生存在HTML页面中, 因此当用户不再浏览包含applet的页面时,applet不应该遗留资源在系统中。因此该通过覆 盖destort方法来回收这些资源。
88.关于start和stop方法的进一步讨论
经过测试,当网页显示的时候就会调用start放,当网页被隐藏时就会调用stop方法。
89.ActiveX的安全机制是如何工作的?
90.假设类A,派生出类B。在创建类B的对象时一定会调用类A的构造器,如果没有显示调用基类的构造器默认调用基类的无参构造器。
如下代码:
class A{
A(int a){
}
}
class B extends A{
B(int a){
}//出现错误,因为基类中没有无参构造可调用
//如果加super(0);则没有错误。
//如果在基类中增加一个无参构造器则不出现错误
}
91.获取URL的常见方法是询问applet的来源,特别是1)当前调用它的页面的URL.2)当前applet自己的URL
要找到前者,需要使用getDocumentBase方法;而后者要用getCodeBase方法。getDocumentBase方法实际上是返回包含applet标记的HTML文件的URL,而API文档声称其仅仅返回该目录的URL。getCodeBase方法实际上是返回包含applet的目录,而API文档声称其返回applet的URL。
92.有了JAR文件后,需要在applet 标记中引用它,如下例子:
<applet code="calculatorApplet.class" archive="calculatorClass.jar" width="100" height="100">
code属性告诉浏览器applet名字。archive属性仅仅指明了applet和其他文件可能存放的位置。每次需要类文件、图像或者声音文件时,浏览器首先在archive属性中指定的JAR文件中寻找。当文件不在这些JAR文件时,才会到Web服务器上去取。
93.如果期望一个applet在终端用户机器上长时间驻留,则可以使用cache_option,cache_archive,cache_version这几个关键字。
94.TCP/IP协议的层次结构
应用层:Telnet FTP SMTP HTTP
传输层: TCP UDP
网际层: IP
网络接口层:以太网 FDDI X.25 ATM
分享到:
相关推荐
### JAVA自学之路大总结 #### 一、学会选择——洞察行业需求 在IT行业,特别是对于初学者而言,选择合适的技术方向至关重要。很多人在选择学习方向时,可能会盲目跟随潮流,选择诸如Java、.NET、手机开发、嵌入式...
### Java自学总结94点知识点详解 #### 一、标识符与关键字 1. **标识符**: 在Java中,标识符用于命名类名、变量名、方法名等。标识符可以由字母、数字、下划线`_`及美元符号`$`组成,但不能以数字开头。 - 示例:`...
### Java自学之路:选择与路线图详解 #### 一、选择的重要性 在开始Java学习之旅之前,最重要的是明确自己的目标并做出明智的选择。这不仅包括选择适合自己的学习资源,还包括根据个人兴趣和发展方向来确定具体的...
Java自学之路初学者宝典 在信息时代的浪潮中,掌握编程技能已成为提升个人竞争力的重要手段,而Java作为一门应用广泛的编程语言,吸引了无数编程爱好者投入自学的行列。本文旨在为初学者提供一份详尽的Java自学指南...
### Java自学方法总结 #### 一、教材与学习方法的重要性 在Java自学的过程中,选择合适的教材至关重要。良好的教材不仅能够帮助学习者系统地掌握基础知识,还能引导他们如何深入理解和运用这些知识。根据杭州汇文...
java语言详细教程学习 java自学攻略总结.docx Java语言教程:打造你的第一款五子棋游戏 游戏简介 五子棋,又称连珠,是一种两人对弈的棋类游戏。五子棋的规则简单易懂,变化多端,非常有趣味性。棋盘为15×15或19×...
### Java自学计划安排 在IT领域中,Java作为一门经典的编程语言,因其强大的功能、广泛的应用范围以及良好的跨平台性而备受青睐。对于初学者来说,制定一个合理的自学计划至关重要,这不仅能帮助大家系统地掌握Java...
这篇《Java自学手册》既是一盏指路明灯,也是一份详实的入门指南。本文将基于手册内容,对Java初学者提出一系列的学习建议和路径规划,帮助他们制定出明确的学习目标,提高学习效率,并最终实现快速就业。 首先,...
Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...
Java初学自学PPT教程是针对想要学习Java编程语言的初学者所设计的一份学习资料。这份教程可能包含了从基础到进阶的Java语言概念,包括面向对象程序设计这一核心特性,以及UML(统一建模语言)和Design Patterns...
总结来说,自学Java的路途并不是一条平坦大道,但《Java自学之路》提供的指导和建议,无疑让这条道路变得更加清晰可见。学习者需要明确自己的学习目标,结合市场需求来规划自己的学习路径,同时注重基础知识和核心...
在“JAVA自学之路”这个主题下,我们探讨的是如何通过自我学习...总结来说,“JAVA自学之路”是一段充满挑战但又充满机遇的旅程。只要你保持热情,勤奋学习,不断实践,你一定能够在Java的世界里找到属于自己的天地。
### Java自学如何成功 在IT领域,Java作为一门强大的编程语言,因其跨平台性、安全性以及丰富的类库支持而备受青睐。对于想要进入这一领域的学习者来说,掌握正确的自学方法至关重要。本文将从多个角度出发,探讨...
JAVA基础,自学JAVA面向对象送达特性总结
### 总结 以上介绍了几种常见的数据编码和加密技术,包括Base64、MD5、DES和RSA。这些技术在数据的安全传输和处理中发挥着重要作用。理解它们的工作原理和应用场景对于从事IT行业的人员来说是非常重要的。
很详细,自己自学总结出来的,涵盖了java几乎所有的基础知识
### Java自学之路——超详细含练习项目及源码 #### Java知识体系最强总结 本篇文章旨在根据提供的文件信息,深入解读Java自学之路的关键知识点,并针对其中提到的学习资源进行详细的解析,帮助初学者更好地掌握...
**Java Web自学编程手册概述** Java Web是一种使用Java技术构建Web应用程序的方法,它结合了Java语言的强类型、面向对象的特性与Web的交互性。本手册针对初学者,旨在帮助你快速掌握Java Web开发的基础知识,从而...
3. **Maven项目构建**:在Java项目中,Maven作为构建工具,能够管理依赖、构建工件、执行测试等。手册会详细介绍如何配置和使用Maven,以及编写POM.xml文件。 4. **Spring框架**:Spring是Java企业级应用的主流框架...