1.构造函数的作用:初始化成员变量(不是保护、读取、描述类或变量)
2.java语言使用的字符码集:Unicode
3.可以对对象加互斥锁的关键字:synchronized
4.抽象方法只能出现在抽象类中,且没有方法体
5.抽象类中可以有非抽象方法
6.接口中的方法全是抽象方法
7.java.io包的File类是:非流类
8.java中 (-10)%(-3)= -1
9.paint()方法中使用哪种类型的参数:Graphics
10.Boolean不是java的原始数据类型(boolean是)
11.java源文件中可以有多个类,但只能有一个public类且必须与文件名相一致
12.Integer.valueOf() 参数为八种原生数据类型,返回Integer类型
Integer.intvalue() 把Integer转化为int型
parseint() 参数只能是String,返回int型
13.for循环都能转化为while循环,while循环不一定能转换为for循环
14.final修饰的方法可以被重载不可以被覆盖
15.Frame对象默认的布局管理器:BorderLayout
16.Pane对象默认的布局管理器:FlowLayout
17.从文件中读取数据需要创建哪个类的对象:FileInputStream (FileOutputStrean写入数据)
18.java的三大特点 继承,封装,多态
19.每个Unicode码战勇2字节内存空间 ( 2字节(byte)=16比特(bit) )
20.String不是基本数据类型
21.java字符流和字节流的区别?
字符流处理的单元为: 2个字节的Unicode字符 操作 字符,字符数组或字符串
字节流处理的单元为: 1个字节 操作 字节和字节数组
22.抽象类和接口的区别?
a.接口中所有的方法都是抽象的
抽象类中可以有 有方法体非抽象方法
b.一个类可以实现多个接口但只能继承一个类
c.接口和实现它的类不构成继承体系,而抽象类是舒徐一个类的继承体系
d.接口中的方法默认是public abstract 的,成员变量默认是public static 常量
e.implements关键字用于实现接口,extends关键字用于继承
23.开发和运行java程序需要经过的三个主要步骤为 编辑源程序,编译生成字节码 和 解释运行字节码
24.在一个时间只能由一个线程访问的资源称为(临界资源)。访问临界资源的代码称为(临界代码)
25.在多线程系统中,多个线程之间有(同步)和(互斥)两种关系
26.一个程序可以包含多个源文件。
27.一个源文件可以供一个或多个程序使用
28.方法main()只能放在公共类中(❌)
可以放在别的类中,但默认是公共类
29.抽象方法可以出现在抽象类中(❌)
30.子类继承父类的非私有属性和方法
31.this和super:不能用在main()方法中
32.程序中的语法错误和编译错误不属于异常
33.程序执行过程中遇到的实现没有预料到的情况是异常
34.字符流与字节流的区别在于:每次读写的字节数不同
35.InputStreamReader不属于字节流
36.并发:1个CPU切换运行多个程序
并行:每个CPU运行一个程序
37.一个对象请求另一个对象为其服务的方式是通过发送:消息
38.反映java程序并行机制的特点: 多线程
39.java applet 程序与编写和 运行 java application程序不同的步骤:编写HTML文件调用该小程序,以html为扩展名存入相同文件夹
40.把变量声明为暂时性变量的修饰符为:transient(临时变量)
41.throws出现在方法头中 throw出现在方法体中
42.为读取的内容进行处理后再输出,需要使用什么流(Filter stream)
43.为实现多线程之间的通信,需要用什么流(Piped stream)
44.Swing和awt的区别:Swing是由纯java实现的轻量级构件,Swing没有本地代码,Swing不依赖操作系统的支持。
45.流类型分类:输入流和输出流(方向),字节流和字符流(内容),节点流和处理流(分工)
46.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
21.JAVA语言的主要特点(简单性,面向对象,安全性,平台无关性,多线程)
22.高级类型(位数较多的数据类型)转换为低级类型(位数较少的数据类型)时,截断高位内容
23.public>protected>default>private 类 包 子类 全部
24.~取反号 ~(-30) = 29 ~30=-31 ~a=-a-1
25.构造方法不能继承
26.重写方法的规则:重写方法的允许访问范围不能小于原方法;重写方法所抛出的异常不能比原方法更多。
27.一个Java源代码文件称为一个编译单元。
28.一个编译单元中只能有一个public类,且该类名与文件名相同。
29.编译单元中的其它类是该public类的支撑类。
30.经过编译,编译单元中的每个类都产生一个.class文件。
31.Java的工作程序是一系列的.class文件,Java解释器负责寻找、加载和解释这些文件。
32.如果一个类声明实现一个接口,但没有重写接口中的所有方法,那么这个类必须是abstract类。
33.非静态成员类具有如下特征:非静态成员类中不能定义静态变量和方法。
非静态成员类可以访问封装类的所有成员。
在非静态成员类中访问封装类的成员时,若封装类的成员与成员类的成员不重名,则可以直接用成员名进行访问;
若封装类与成员类的成员的成员重名,访问封装类实例成员的语法为:封装类类名.this.封装类实例成员名;
34.静态成员类具有如下特征:
静态成员类中既可以定义静态成员,也可以定义非静态成员。
静态成员类中能直接访问封装类的所有静态成员,但不能直接访问封装类的非静态成员。
在静态成员类中访问封装类的成员时,若封装类的成员与成员类的成员不重名,则可以直接用成员名进行访问;
若封装类与成员类的成员的成员重名,访问封装类静态成员的语法为:封装类类名.封装类静态实例成员名;
35.局部类 (封装类的方法中定义的内部类) 具有如下特征:
局部类的类名不能与其封装类重名。
局部类可以是abstract和final型,访问修饰符只能是缺省的,不能是public、private或protected。
局部类中不允许包括静态成员(变量和方法)。
在局部类中只能访问它所在方法中的final型变量,不能访问非final型的变量。
局部类只在定义它的代码段中可见,只能在封装类内部使用,在封装类之外是不可见的,不能在封装类之外创建局部类的实例。
在局部类中可以访问封装类的成员,如果局部类成员与封装类成员不重名,可以直接用成员名进行访问;如果封装类成员与局部类成员重名,其中,
访问封装类实例成员需要使用以下语法:封装类类名.this.封装类实例成员名;
问封装类静态成员的语法:封装类类名.封装类实例成员名;
36.匿名类具有如下特征:
匿名类必须是一个具体的对象,不允许是abstract的,也不可以是static。
匿名类的类体必须将其继承或实现的内容具体化(与普通类没有差别)。
匿名类本身没有名字,所以没有构造方法,只能用super关键字调用其父类的构造方法。
匿名类只能是final型的,其中包括的所有变量和方法都是final型的。
37.成员接口
成员接口是指在封装类或封装接口中声明的接口。
当一个接口被嵌套在一个类中时,该接口修饰符可以是public、private和缺省的,private接口只能在封装类的内部实现和使用。
当一个接口被嵌套在一个接口中时,成员接口自动拥有封装接口访问范围,可以在外部加以实现。
38.我觉得 frame.getContentPane()的默认布局时BorderLayout
39.button的setsize方法 不管用,用的话要用 setPreferredSize(new Dimension(width,high))
40.BorderLayout时 组件大小会自动填充的 而 FlowLayout 组件大小不会自动填充
41.JCheckBox加入按钮组后只能单选,JRadioButton没有加入按钮组可以多选。
42.JDK 包含 JRE(java运行环境) JRE包含JVM(虚拟机)
43.java命令作用:它专门负责解析由java编译器生成的.class文件
44.path是Windows查找.exe文件的路径;classpath是jvm查找.class文件的路径
45.在dos命令行中,classpath和path环境变量的查看和配置的方式不同
46.classpath和path环境变量的查看与配置方式完全相同
47.为了让JVM找到class文件,需要对classpath环境变量进行设置
48.从JDK5.0开始如果classpath环境变量没有设置,java虚拟机会自动设置为"." 也就是当前目录
49.在命令行窗口中配置了classpath后,重新打开命令行窗口依然生效(×)
50.类可以看做是一个模型,可以用来创建对象(×)
51.类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体(√)
52.匿名内部类是内部类的简化形式
匿名内部类的前提是必须要继承父类或实现接口
匿名内部类的格式是"new 父类(参数列表) 或父接口(){}"
匿名内部类可以有构造方法(×)
53.自定义运行时异常,必须继承自( RuntimeException)类
54.解压jar文件的命令是 jar -x
55.System类位于java.lang 包中
56.final不可以修饰接口
57.线程调用sleep()方法后,该线程将进入 阻塞状态
58.getProperties()方法用于获取当前的操作系统的属性
59.包装类可以通过继承包装类完成自定义包装类的设计(×)
60.Date类获取的时间以1970年1月1日0:00开始计时
在JDK1.1之后,Date类逐渐被Calendar类取代
Date类中大部分构造方法都被声明为已过时
Date类中大部分方法依然推荐使用(错)
61.JDK是整个Java的核心
62.java.exe命令的作用是 Java解释器
63.byte + byte数据类型进行运算时,会发生自动类型提升
64.sizeof不是Java中的关键字
goto是关键字
65.float d=100;可以通过编译 float b=12.45;不可以通过编译
66.在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次
67.静态方法内不可以使用this关键字
68.将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
69.抽象类不能直接实例化 但是可以间接的
70.一个接口可以继承多个接口
71.由new语句创建的父类对象可以强制转化为子类的对象(×)
72.Runtime属于单例设计模式的类
73.Math.random() 返回一个随机的double类型数,该数大于等于0.0小于1.0
74.构造方法的访问权限必须和类的访问权限一致(×)
75.bin目录:用于存放一些可执行程序,如:java.exe(Java编译器),java.exe(Java运行工具),jar.exe(打包工具)和javadoc.exe(文档生成工具)。
76.db(database)目录:db目录是一个小型的数据库。
77.jre目录:Java运行时环境,Java运行时环境的根目录,它包含Java虚拟机,运行时的类包,Java运行启动器以及一个bin目录,但不包含开发环境中的开发工具。
78.lib目录:是“library”的缩写,意为Java类库和库文件,是开发工具使用的归档包文件。
79.javac是将java文件编译成class文件,java是执行你编译的class文件。
80.构造方法没有返回值类型,不可以写void
81.静态方法不能被覆盖。但是子类可以重新定义父类的静态方法,并将父类的静态方法屏蔽掉。
82.private default protected public : 自己 包 包和子类 全部;
83.在static方法中使用的全局变量一定是static型
全局变量自动赋初值,局部变量不赋初值不能用。
84.Object类equals方法是用来比较两个对象的引用是否相等,即是否指向同一个对象。
String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串是否相等。
85.== :如果作用于引用类型的变量,则比较的是所指向的对象的地址
equals :如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
86.子类的构造方法中会自动调用父类无参构造方法super()
Java的规定:子类继承父类,子类的构造方法必须调用super()即父类的构造方法,而且必须放在构造方法的第一行。
父类必须有无参构造方法,子类才能有构造方法
87.第一个完整实现面向对象技术的语言 Smalltalk
88.Serialiazable 可持续化
transient不可持续化
synchronized同步
*89.子类的构造函数会默认调用父类的无参构造函数,父类无参构造函数中的方法由子类决定。
90.组合是一种强形式的聚合 聚合中1个部分可以由多个整体共享 组合中1个部分不可以由多个整体共享
91.构造方法不可以被继承
92.局部类不可以包括静态成员
93.a[] = {1,2,3} b[] = {4,5} a=b 则a[] = {4,5}
94.基本类型(包括String)作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的
对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。