java基础知识积累.docx

上传人:b****5 文档编号:14771489 上传时间:2023-06-27 格式:DOCX 页数:23 大小:321.90KB
下载 相关 举报
java基础知识积累.docx_第1页
第1页 / 共23页
java基础知识积累.docx_第2页
第2页 / 共23页
java基础知识积累.docx_第3页
第3页 / 共23页
java基础知识积累.docx_第4页
第4页 / 共23页
java基础知识积累.docx_第5页
第5页 / 共23页
java基础知识积累.docx_第6页
第6页 / 共23页
java基础知识积累.docx_第7页
第7页 / 共23页
java基础知识积累.docx_第8页
第8页 / 共23页
java基础知识积累.docx_第9页
第9页 / 共23页
java基础知识积累.docx_第10页
第10页 / 共23页
java基础知识积累.docx_第11页
第11页 / 共23页
java基础知识积累.docx_第12页
第12页 / 共23页
java基础知识积累.docx_第13页
第13页 / 共23页
java基础知识积累.docx_第14页
第14页 / 共23页
java基础知识积累.docx_第15页
第15页 / 共23页
java基础知识积累.docx_第16页
第16页 / 共23页
java基础知识积累.docx_第17页
第17页 / 共23页
java基础知识积累.docx_第18页
第18页 / 共23页
java基础知识积累.docx_第19页
第19页 / 共23页
java基础知识积累.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java基础知识积累.docx

《java基础知识积累.docx》由会员分享,可在线阅读,更多相关《java基础知识积累.docx(23页珍藏版)》请在冰点文库上搜索。

java基础知识积累.docx

java基础知识积累

1.关键字不能用作变量名、方法名、类名、包名和参数。

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

strictfp

short

static

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

2.常用关键字:

3.TrueFalse不是关键字,属于布尔类型字面值。

4.Main不是关键字,只是程序执行路口。

5.Java不是关键字。

6.Java 语言中整型常量有三种形式即八进制整数、十进制整数和十六进制整数.

7.byte 1字节(8位)short2字节int4字节long8字节float4字节double8字节char2字节boolean1/8字节

8.

源代码文件名称必须含有 .java 后缀,类文件名称必须含有 .class 后缀,源文件和类文件都必须有识别该类的根名。

例如,名为 MyClass 的类将写在名为 MyClass.java的源文件中,并被编译为字节码类文件 MyClass.class。

9.移位操作>><<正数向左*2,向右/2,负数不能使用。

10.indexOf方法返回String对象内第一次出现子字符串的字符位置。

11.Final修饰的不能再有子类,即不能再被继承。

12.类变量是类中独立于方法之外的变量,用static修饰,实例变量也是类中独立于方法之外的变量,不过没有static修饰,局部变量是类的方法中的变量

13.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

14.一个类中可以没有main()方法

15.基本类型的变量和对象的引用变量是在函数的栈内存中分配,而堆内存中则存放的是new出来的对象和数组。

在Java虚拟机中还有一块区域叫做常量池。

Strings1="abc";的值是存储在常量池中的,当创建引用Strings2="abc"的时候,Java虚拟机会优先在常量池中查找是否存在"abc",如果存在则让s2指向这个值,不会重新创建;如果常量池中没有,则创建并添加到常量池中。

16.ParseDouble()方法返回初始化为一个指定字符串的一个新的double表示的值

17.Indexof报告指定字符在此实例中的第一个匹配项的索引。

搜索从指定字符位置开始,并检查指定数量的字符位置.

18.在java中负责对字节代码解释执行的是虚拟机

19.java源程序编译生成的字节码文件不是直接运行在操作系统平台上的,而是在java虚拟机上运行的。

20.在java源文件中public类最多只能有一个,其他类的个数不限

21.Java语言的标识符是区分大小写的

22.Java语言是一种面向对象语言

23.标识符命名规则1,标识符由26个英文字符大小写数字下划线和美元符号组成2不能以数字开头不能是关键字3严格区分大小写4标识符可以为任意长度.

24.注释方法:

单行注释//多行注释/**/文档注释/***/

25.重载的概念是:

方法名称相同,参数个数、次序、类型不同.因此重载对返回值没有要求,可以相同,也可以不同,但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载。

26.重载和重写的区别:

重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。

调用的时候根据函数参数来区别不同的函数。

覆盖也叫重写,是指在派生类中重新对基类中的虚函数重新实现。

即函数名和参数都一样,只是函数的实现体不一样

27.类的关系区别:

覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。

产生方法区别:

覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。

参数列表要求区别:

覆盖要求参数列表相同;重载要求参数列表不同。

28.新建文件,然后使用javac命令进行编译,命令执行完成后,会在同一目录下生成一个.class文件,使用java命令运行.class文件。

29.Final方法属于最终方法、

30.异或运算和乘法一样,位置和运算顺序不影响最后的结果:

a^b^c=b^c^a

两个相同的数做异或运算结果为零:

a^a=0

任何数和零做异或结果还是这个数本身:

a^0=a

31.按位与:

参加运算的两个数据,按二进制进行“与”运算,运算规则:

0&0=0;0&1=0;1&0=0;1&1=1,即两位同时为“1”,结果才为“1”,否则为零。

按位或:

运算规则:

0|0=0;0|1=1;1|0=1;1|1=1,即:

参加运算的两个对象只要有一个为1,其值为1。

异或运算符^:

参加运算的两个数据,按二进制位进行“异或”运算。

运算规则:

0^0=0;0^1=1;1^0=1;1^1=0;即:

参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为零。

32.1.交换律2.结合律(即(a^b)^c==a^(b^c)3.对于任何数x,都有x^x=0,x^0=x。

4.自反性:

a^b^b=a^0=a

33.设有a,b两个变量,互换他们的值:

a=a^b;b=b^a;a=a^b;

34.左移运算符<<,左移后a=a*2,右移运算符>>相当于该数除以2.还有复合赋值运算符,即位运算符与赋值运算符结合,组成新的复合赋值运算符。

两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。

35.一个类中被private修饰的私有成员变量,只能被该类自身所访问和修改

36.在类声明之前用final修饰,声明类是不能被再继承的类,即它不能再有子类。

37.在面向对象语言中,对象之间的交互通过互相发送消息实现

38.类是对一组相同对象的描述,类概括了同类对象的共有性质:

属性和方法

39.Java语言提供了两个用于处理字符串的类,它们是StringBuffer和StringBuilder.

40.构造方法作用就是对类进行初始化,构造方法就是与类同名的那个方法,作用就是可以用来初始化,new一个对象的时候要用到构造函数。

41.在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.

42.在子类中使用关键字_super_做前缀可调用被子类覆盖的父类中的方法。

43.在面向对象概念中,每个对象都是由属性和方法两个最基本的部分组成的。

44.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用16个比特位。

45.Java源文件中最多只能有1个公共类,其他类的个数不限。

46.Java虚拟机:

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

47.Java平台无关性:

从微观来说编译出来的是字节码,去到哪个平台都能用,只要有那个平台的jdk就可以运行!

字节码好比是一个人,平台好比是国家,jdk好比是这个国家的语言。

48.Java虚拟机执行过程的三个特点是:

java多线程,java动态链接,java异常处理。

49.Java语言是以类为程序的基本单位的

50.Java程序具有执行速度快的特点

51.编写源程序(文件后缀名必须加.java)----->编译源程序(javac文件全名)----->运行(java文件类名)。

Java程序开发三步骤:

编写,编译,运行

52.Java程序可以分成两类:

1:

standaloneapplications或称applications,可独立执行的程序。

2:

embeddedapplications:

嵌入式应用程序,必须依附在其他程序执行。

53.java源文件的扩展名是.java,Java字节码文件的扩展名是.class

54.Java执行的两个步骤:

55.

与结构化程序设计语言不同,java是一种完全的面向对象且与平台无关的语言。

56.jdk安装好以后,就可以使用javac和java命令工具了,javac是用来把源代码编译成class文件的,而Java是用来运行主方法的class文件的。

57.jdk安装完成后,主要的命令,如javac,java等,都存放在根目录的(bin)文件夹下。

58. switch(表达式(注意只能是byte,short,char或int))。

在switch分支语句中的常量类型必须和表达式的类型相同

59.条件语句控制程序的流程是通过判断(条件的真假)来进行的

60.分支语句包括if和switch。

61.循环语句的控制机制是

62.顺序结构:

从上到下,依次执行。

选择结构:

根据条件的不同,执行不同的代码。

循环结构:

根据条件,循环执行代码。

63.循环语句包括四部分:

初始化部分,循环体部分,迭代部分,终止部分

64.for语句中,在初始化部分和迭代部分可以使用逗号语句,来进行多个操作

65.java表达式是变量,常量,运算符,方法调用的序列,它执行指定的计算并返回某个确定的值。

66.表达式:

表达式是操作符、操作数和标点符号组成的序列,其目的是用来说明…个计算过程。

表达式根据某些约定、求值次序、结合和优先级规则来进行计算。

所谓约定,即类型转换的约定。

表达式可以嵌套。

所有的操作运算都通过表达式来实现。

由表达式组成的语句称为表达式语句。

它由一个表达式后接一个分号“;”组成。

67.java中只有值传递没有引用传递,在传递对象时,是传递对象的引用的副本,不是直接传递对象的引用本体。

68.类成员的3种访问属性:

父类成员在子类、类的外部(非本类或者子类的类体里,包括本类或者子类的对象去调用都属于外部)中的3种访问属性:

1.public:

 可以给子类或者类的外部访问;2.protected:

 可以给子类访问,不能给类的外部访问;3.private:

 子类和类的外部访问都不能访问。

对于本类的数据成员、成员函数、本类的对象而言:

关于这3种被访问方式,我的理解是:

1.在本类的类体里,数据成员只能被成员函数访问,不能被直接使用;2.在类体外,类的数据成员或者成员函数,只能被类的对象访问,不能直接使用它们;3.并且本类的对象只能访问本类的public的数据成员和成员函数,protectedprivate的数据成员或者成员函数都不能被类对象访问;

69.面向对象的语言将客观世界都看成由各种对象组成,具有共同特征和行为的对象组成类,类是变量和方法的集合体

70.在面向对象方法中,类的实例被称为(对象)

71.在java中,对象使用应遵循的原则是(先定义后使用)的原则

72.在java中,类描述的是具有相同属性,操作,关系的对象集合的总称

73.在java程序里,对象是类的一个(实例)

74.在java程序结构里,最基本的概念是类和(对象)

75.引用static类型的方法时,可以使用(类名)做前缀,也可以使用(对象名)做前缀

76.类中的(构造)方法是一个特殊的方法,其名称与类名相同

77.一个类主要包含两个成员要素:

数据成员和成员方法

78.静态数据成员既可以通过(类名)来访问,也可以通过(对象)来访问

79.Java是面向对象的语言,对象是客观事物的(实体),对象与之是一一对应的

80.定义一个类包括类头和定义(类体)两个部分

81.Java语言是以(类)为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念

82.把对象实例化可以生成多个对象,使用(new)运算符为对象分配内存空间

83.在java中有一种叫做(构造函数)特殊方法,在程序中用它来对类成员进行初始化

84.PrivateclassBase{

Base(){

inti=100;

System.out.println(i);

}中private不能修饰类。

85.覆盖就是重写的意思。

86.静态方法中不能调用非静态的方法,this,super不能在static修饰的方法中使用

87.隐式超级构造函数person()未定义,必须显式调用另一个构造函数。

88.面向对象的特征有抽象,封装,继承,多态。

89.Super()和this()不可以同时出现在一个构造函数中

90.this()和super()不可以在static环境中使用,包括static方法和static语句块。

91.封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性。

92.Final关键字可以用来修饰类,方法和变量(包括成员变量和局部变量)

93.

94.Java中的多态的表现形式:

1.方法重载2.方法重写3.抽象类4.接口

95.构造方法也可以重载

96.抽象类可以有构造方法

97.Abstract不可以修饰变量

98.方法的重写不能应用在一个类的内部,方法的重载与返回值类型无关,构造方法可以重载,构造方法不可以重写。

99.Throwable类是java异常类型的顶层父类,一个对象只有是throwable类的(直接或间接)实例,他才是一个异常对象,才能被异常处理机制识别。

Throwable包含了错误(Error)和异常(Exception)两类

100.

100.只有try代码块得到执行的情况下,finally代码块才会得到执行,但是try代码块得到执行的情况下,finally也不一定执行。

一旦退出Java虚拟机,任何代码都不会再执行。

101.Catch和finally语句不能同时省略,try语句后面必须要有一个别的语句跟在后面。

try-catch,try-finally,try-catch-finally

102.Try-catch语句的多重catch语句块捕获的异常类型必须按顺序先子类后父类。

103.构造函数没有返回值,主要是为了区分构造函数和其他方法。

104.

105.声明抽象方法不可写出大括号。

106.+=除了实现+功能外,还会根据接收变量的类型自动进行类型的强制转换。

107.Java允许抽象类中有private变量和private方法,但是抽象类中的abstract方法不能为private,因为需要子类来继承。

108.Abstract方法必须在abstract类中是对的,abstract方法也可以在interface中,但是interface原本就是抽象的,接口是抽象的,抽象的不一定是接口。

也可以理解为接口就是一个抽象类。

109.Javastatic方法不能直接调用非static方法和属性:

一个方法用static修饰,便是静态方法或类方法。

静态方法不属于特定对象。

由于static方法在装载class是首先完成,比构造方法早,此时非static属性和方法还没有完成初始化。

所以,在static方法内部无法直接调用非static方法(可以通过实例化对象,再用该对象调用非static方法),但非static方法中可以调用static方法,通过类.方法名()的方式。

110.Static修饰符允许对类成员的访问不依赖于该类的任何对象。

111.Calendar类是在java.util包下,是一个abstract修饰的类,不能通过new的方式获取其实例。

可以通过calendar.getInstance().

112.Java类的封装就是指隐藏对象的属性和实现细节,仅对外提供公共访问方式,主要好处:

1.将变化隔离2.便于使用3.提高重要性4.提高安全性

113.Java的优点:

1.简单性2.面向对象3.分布性4.编译和解释性5.稳健性6.安全性7.可移植性8.高性能9.多线索性10.动态性

114.异常处理最根本的优势就是将检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离出来。

115.

116

117.

118.声明异常,方法有两种:

1.调用者处理异常:

通常在方法后面加throwsException方法二:

调用者继续声明异常(下一个接收的人在处理)

119.Java异常分为两大类:

受检异常(即必检异常),它继承自Exception类和运行时异常(即免检异常)它继承自RuntimeException。

120.RuntimeException在默认情况下会得到自动处理。

所以通常用不着捕获RuntimeException,但在自己的封装里,也许仍然要抛出一部分RuntimeException。

RuntimeException是那些可能在java虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在throws子句中进行声明。

121.Throw代表动作,表示抛出一个异常的动作,throws代表一个体态,代表方法可能有异常抛出。

Throw用在方法实现中,而throws用在方法的声明中,throw只能用于抛出一个异常,而throws可以抛出多个异常。

122.GetMessage方法返回描述异常对象的信息。

123.当没有异常发生时,try-catch块的存在对系统性能的影响很小,可以说不会引起额外的系统开销。

只有在异常发生的时候,才会需要如下操作:

1.初始化异常对象2.从调用栈返回3.沿着方法调用链来传播异常,以找到它的异常处理器。

124.异常处理将错误处理代码从正常的程序设计任务中分离出来,这样可以使程序更易读,更易修改。

125.异常处理通常需要更多的时间和资源。

126.当必须处理不可预料的错误状况时使用try-catch块。

127.JavaJPI中的大多数异常类都包含两个构造方法:

一个无参的构造方法和一个带消息参数的构造方法。

128.File类不包括读写文件内容的方法。

129.File类可以用来文件和目录的属性,删除和重命名文件和目录,以及创建目录。

130.文件名是一个字符串。

131.构建一个file实例并不会在机器上创建一个文件,不管文件是否存在,都可以创建任意文件名的file实例。

132.创建一个具体子类的实例时,它的父类的构造方法被调用以初始化父类中定义的数据域。

133.1.抽象方法不能包含在非抽象类中2.抽象类是不能使用new操作符来初始化的3.包含抽象方法的类一定是抽象的4.子类可以覆盖父类的方法并将它定义为abstract5.即使子类的父类是具体的,这个子类也可以是抽象的6.不能使用new操作符从一个抽象类创建一个实例,但是抽象类可以用作一种数据类型

134.抽象类的修饰符不能是private,抽象类必须被继承才能够被使用,其他功能和普通类相同,抽象方法非静态。

135.子类可以重写超类中的方法并将其定义为抽象方法,如果超类中的方法的实现在子类中变得非法时,这种写法就有用。

136.构造方法,类方法不能声明为抽象方法。

137.Abstract可以修饰class表示抽象类,可以修饰方法表示抽象方法,但是不能修饰成员变量,也就是没有抽象的成员变量。

138.Abstract类可以是外部类,也可以是内部类。

Abstract如果是外部类,不能用private修饰,abstract类如果是内部类,可以用private修饰。

(内部类,外部类现在还没学?

139.Abstract类中可以有构造方法,抽象类的构造方法不能是抽象方法。

140.Abstract类和abstract方法都不能用final修饰。

141.Java中的接口表示规范,用来定义一组抽象方法,在接口中所有方法必须是抽象的,不能有方法体,他比抽象类更加的抽象。

接口规定一个类必须做什么而不规定他如何去做,接口中成员变量默认都是publicstaticfinal。

142.接口成功编译以后,和类一样,具有一份字节码。

143.1.接口中定义的成员变量,实质是全局静态变量,默认使用publicstaticfinal来修饰,而且必须初始化2.接口中定义的方法都是公共的抽象方法,默认的使用publicabstract来修饰方法3.接口中定义的内部类都是公共的静态内部类,默认使用publicstatic来修饰内部类。

144.接口的特点:

1.没有构造方法,也不能显示定义构造器,不能实例化2.接口只能继承接口,不能继承类,且接口支持多继承(类是单继承)3.接口里的方法全是抽象的,默认修饰符是publicabstract4.接口里的字段全是全局静态变量,默认修饰符是publicstaticfinal5.接口里的内部类全是公共静态的,默认修饰符是publicstatic。

145.除了不能使用new操作符创建抽象类的实例外,一个抽象类可以像非抽象类一样使用。

(?

不确定)

146.Number类是抽象类,calendar类也是抽象类。

147.装箱就是自动将基本数据类型转换为包装器类型,拆箱就是自动将包装器类型转化为基本类型。

148.GregorianCalendar对象中month参数是基于0的,即0代表1月。

149.Calendar类中日期和时间域都被定义为常量。

150.接口是一种与类相似的结构,只包含常量和构造方法。

151.接口的目的是指明相关或不相关类的多个对象的共同行为。

152.类和接口之间的关系叫做接口继承

153.假设A是一个接口,可以如下声明一个类型A的引用变量X吗?

不是接口变量,而是一个接口类型的引用指向了一个实现给接口的对象,这是java中的一种多态现象,java中的接口不能被实例化,但是可以通过接口引用指向一个对象,这样通过接口来调节方法可以屏蔽掉具体的方法的实现,这是java编程中经常用到的接口回调,也就是经常说的面向接口的编程。

154.Comparable接口是一个泛型接口,在实现该接口时,泛型类型E被替换成一种具体的类型。

155.为什么要实现Comparable接口?

实现Comparable接口的好处是什么?

如果想对某个类的对象支持比较(排序),就必须实现Comparable接口。

156.Cloneable接口是空的,一个带空体的接口称为标记接口,用来表示一个类拥有某些特定的属性。

157.因为如果不继承自Cloneable接口,当调用clone()时会抛出CloneNotSupportedException异常。

158.二进制文件的优势在于它的处理效率比文本文件高。

159.文本文件是基于字符编码的文件,二进制文件是基于值编码的文件。

160.从文件编码的方式来看,文件可以分为ASCII码文件和二进制文件两种。

161.Java中的流可以从

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2