java复习Word格式文档下载.docx

上传人:b****5 文档编号:18891001 上传时间:2023-01-02 格式:DOCX 页数:19 大小:22.28KB
下载 相关 举报
java复习Word格式文档下载.docx_第1页
第1页 / 共19页
java复习Word格式文档下载.docx_第2页
第2页 / 共19页
java复习Word格式文档下载.docx_第3页
第3页 / 共19页
java复习Word格式文档下载.docx_第4页
第4页 / 共19页
java复习Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java复习Word格式文档下载.docx

《java复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java复习Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

java复习Word格式文档下载.docx

main方法必须用static修饰,因为main是入口方法,最早被调用。

类方法只能调用类方法和类变量,不能调用实例方法和实例变量。

类方法和类变量也可以通过类名来调用。

(类名只能调用类方法和类变量,不能调用实例方法和实例变量,对象名两者都可调用)

4.方法重载(Overload)

方法的重载:

方法名相同,参数不同(参数个数或参数类型)为方法重载,其它均不是。

如返回值不同、参数名不同都不是方法重载。

intfun(inta,intb)和voidfun(inta,intb)不是方法的重载

intfun(inta,intb)和intfun(intx,inty)也不是方法的重载,因为它们都是两个参数,且都为int型,参数的个数和参数的类型都相同

5.this关键字

this代表当前对象,故它只能出现在实例方法中,不能出现在类方法中

6.包

打包packagecom.jxust

如果编译时要将生成的class文件放入打包的文件夹中,要使用参数-d

javac–de:

\javaMyClass.java

引包importjava.util.*;

//引入java.util中所有的类不包括其子包中的类

java.util.*不包括java.util.regex.*中的类

java.lang包中的类不需要引入,系统自动引入

Math类位于java.lang包中,不位于java.math包中

7.访问权限

访问权限的修饰符有private、protected、public和缺省四种。

可以修饰类、接口、方法、变量等。

类只能用public和缺省修饰。

public所有地方均可访问

缺省包内可以访问

protected包内和子类可以

private只有当前类中可以访问,其它任何地方均不可以

8.继承性

使用关键字extends,一个子类只能继承一个父类。

子类和父类在同一包中时除private修饰的不能被继承,其它的均会被继承

子类和父类不在同一包中子类继承public和protected修饰的成员

9.instanceof运算符

对象instanceof类返回boolean类型的值,某一个对象是不是类的实例

对象一定是自己类的实例,子类对象是父类的实例,父类对象一般情况下不是子类的实例(当父类对象是用子类的构造方法实例化时,父类对象也是子类的实例)

 

10.子类对象的特点

当用子类的构造方法创建一个子类的对象时,不仅子类中声明的成员变量被分配了内存,而且父类中所有的成员变量(包括private)也都会分配内存空间,但只是其中一部分(被子类继承的)能被子类对象的变量调用。

子类继承的方法可以操作子类继承和隐藏的成员变量(全是父类中定义的),子类新定义的方法只能操作子类继承的变量不能操作隐藏的变量

11.方法重写(Override)

子类和父类的方法具有相同的名称和类型(包括返回值),且访问权限不得低于父类

12.final关键字

修饰类,则该类不能被继承

修饰方法,则该方法不能被重写

修饰变量,则为常量

13.对象的上转型对象P98

父类对象变量用子类构造方法实例化,称对象的上转型对象。

(注意子类对象不能用父类构造方法去实例化,也不能把父类实例化的引用赋给子类)

上转型对象能够访问子类中

被继承的成员(父类中定义而子类中没有定义的变量和方法)

被隐藏的变量(访问到的是父类中的值)

被重写的方法(访问到的是子类中的值)

被重写的静态方法(访问到的是父类中的值)

14.abstract关键字

修饰类为抽象类,修饰方法为抽象方法

抽象方法只声明不实现没有方法体,构造方法和static方法不能是抽象的

父类的抽象方法往往在子类中实现

抽象类不能被实例化(不能用new分配内存),抽象类的对象只能用子类去实例化,所以抽象类可以具有指向子类对象的对象引用(上转型)Aa=newB()(B是A的子类)

一个类中如果有抽象方法,这个类要定义为抽象的,

抽象类中即有抽象方法,也可以有不是抽象的方法。

15.接口

定义接口使用关键字interface,(interface默认有abstract修饰,故接口变量不能用自己的构造方法实例化,如果Com是一个接口的话,那么

Comc=newCom()编译是通不过的。

每个接口编译后会生成一个单独的以.class结尾的字节码文件

接口中常量的修饰符publicstaticfinal(可以省略其中的一个、两个或全部,省略也表示是有这些修饰符)

接口中方法的修饰符publicabstract(可以省略其中的一个或两个,省略也表示是有这些修饰符)

实现接口使用关键字implements,一个类可以实现多个接口,实现接口时要重写接口中的所有方法(接口中的方法均为抽象的),除非该类是抽象类。

接口也可以被继承

接口变量只能用实现该接口的类去实例化

16.抽象类与接口的区别

abstract类中即可以有常量也可以有变量;

接口中只可以有常量,不能有变量

abstract类中可以有abstract方法也可以有非abstract方法;

接口只能是abstract方法。

17.数组

数组的声明int[]a=newint[10];

10可以是一个变量,数组也是引用型数据,通过new来分配内存的

数组的赋值参见课本

数组名.length表示数组的长度,是一个属性,不能写成a.length()

18.异常

异常捕获两种方法:

trycatch语句块或在方法定义时用throws进行抛出(throws写在方法括号的后面)

19.String类

String常用方法equals(),表示字符串的内容是否相等(Object类中也有equals()方法,它表示两个对象的内存地址是否相同,String中重写了Object类的equals()),表示两个字符串内存是否相等要用==

substring(intstart,intend)(从start到end-1,java中所有方法中出现范围的都是不包括后者的,即[start,end),另外String也是从0开始的)

String类型转intInteger.paseInt(s)

int转StringString.valueOf(i)

20.正则表达式

21.日期类

Date位于java.util包中(此包中存放了java的一些工具类)

格式化日期对象使用java.text.SimpleDateFormat

22.输入输出流

File类的对象可以指向文件或文件夹

文件若不存在可以用createNewFile()方法创建,文件夹若不存在可以用mkdir()方法创建。

输入流:

FileInputStream字节输入流FileReader字符输入流

输出流:

FileOutputStream字节输出流FileWriter字符输出流

缓冲流:

BufferedReaderBufferedWriter,不能以文件直接构造要用流对象作为构造方法的参数,BufferedReader中有一个readLine()可以一次读取一行

23.泛型

泛型不能是基本类型,只能引用型,对象、接口、数组等

不能使用在静态属性和静态方法上

是否拥有泛型方法,与其所在的类是否泛型没有关系。

泛型接口中不能用字母来修饰属性,因为属性都是static的,所以只能用它来修改方法

24.集合

ArrayList顺序表,没有指明泛型时默认为Object型数据(所有的java类型都可以),指明泛型则为具体泛型数据。

求其长度用size()方法

Map以键/值对的形式存放数据

Set里面的数据不能重复,只能用迭代器的方式进行遍历。

HashSet是通过判断hashCode()值是否相同来判断数据是否重复,

如果equals()为真则hashCode()值一样(Object中的equals()是判断地址是否一样,如果重写了equals()方法则判断内容是否一样,如String,Integer等)

TreeSet是通过加入时比较大小来生成左右子树,小的放左边,大的放右边,相等就在根,这样也保证了不会有重复值的结点,通过迭代器遍历得到的是二叉树的中序遍历序列。

25.线程

编写线程的两种方法:

继承Thread类,实现Runnalbe接口

线程的生命周期:

新建、就绪、运行、中断、死亡

线程同步:

通过锁定语句块保证在同一时刻只有一个线程读写数据,保证了数据的安全,但有时可能会产生死锁。

26.界面编程

awt或swing

java.awt或javax.swing两个包

窗体Frame或JFrame

布局:

Frame、Dialog默认为BorderLayout

Panel默认为FlowLayout

事件:

文本框、按钮、菜单项、单选按钮发生ActionEvent

选择框、下拉列表框中当选项状态改变时发生ItemEvent

三.写出下列程序的运行结果

1.

classA{

intx;

intz=100;

privateintn=20;

A(intx){

this.x=x;

}

publicvoidfun(){

System.out.println("

A类"

);

publicstaticvoidsfun(){

System.out.println("

A类的静态方法"

}

classBextendsA{

inty;

intz=200;

B(inty){

super(5);

this.y=y;

B类"

B类的静态方法"

}

publicclassTest{

publicstaticvoidmain(String[]args){

Aa=newA

(2);

Bb=newB

(1);

Aaa=newB(10);

Bbb=(B)aa;

System.out.println(binstanceofA);

System.out.println(ainstanceofB);

System.out.println(aainstanceofB);

System.out.println(aainstanceofA);

System.out.println(bbinstanceofA);

System.out.println(a.x);

System.out.println(a.z);

//System.out.println(a.n);

//不能访问

//System.out.println(a.y);

System.out.println(aa.x);

System.out.println(aa.z);

//System.out.println(aa.n);

//System.out.println(aa.y);

System.out.println(b.x);

System.out.println(b.z);

//System.out.println(b.n);

System.out.println(b.y);

System.out.println(bb.x);

System.out.println(bb.z);

//System.out.println(bb.n);

System.out.println(bb.y);

a.fun();

a.sfun();

b.fun();

b.sfun();

aa.fun();

aa.sfun();

bb.fun();

bb.sfun();

2.

Strings="

abcd"

;

Strings1=newString("

System.out.println(s.equals(s1));

System.out.println(s==s1);

s1=s+"

aa"

System.out.println(s);

3.

importjava.util.Arrays;

inta[]={1,2,3};

int[]c=Arrays.copyOf(a,5);

System.out.println(c.length);

System.out.println(Arrays.toString(c));

4.

中华人民共和国"

Strings2=s.substring(2,6);

System.out.println(s2);

5.

classFoo{

publicFoo(){

InFoo"

}

publicclassTestextendsFoo{

publicTest(){

InTest"

publicstaticvoidmain(String[]args){

Foof=newFoo();

Testt=newTest();

6.

Strings=newString("

java"

Strings1=newString(s);

Strings2="

Strings3="

System.out.println(s.equals(s2));

System.out.println(s==s2);

System.out.println(s2==s3);

7.

interfaceA{

intn=5;

classB{

intn=10;

publicclassTestextendsBimplementsA{

System.out.println(A.n);

publicstaticvoidmain(String[]args){

t.fun();

8.

A(){

System.out.print("

A"

publicclassTestextendsA{

publicstaticvoidmain(String[]args){

newTest();

newA();

9.

publicclassTest{

publicstaticvoidmain(String[]args){

StringBufferx=newStringBuffer("

X"

StringBuffery=newStringBuffer("

Y"

fun(x,y);

System.out.println(x+"

"

+y);

publicstaticvoidfun(StringBuffera,StringBufferb){

a.append(b);

a=b;

10.

classParent{

System.out.println("

parent"

staticparent"

classChildextendsParent{

child"

staticchild"

publicstaticvoidmain(String[]args){

Childc=newChild();

Parentp=(Parent)c;

p.fun();

p.sfun();

11.

classFather{

privateStringname="

father"

publicStringgetName(){

returnname;

publicclassTestextendsFather{

test"

Testtest=newTest();

System.out.println(test.getName());

12.

publicintadd(inta,intb){

try{

returna+b;

}

catch(Exceptione){

System.out.println("

catch语句"

finally{

finally语句"

return0;

和是:

"

+test.add(9,34));

13.

importjava.io.*;

publicstaticvoidmainthrowsIOException(String[]args){

Filef=newFile("

abc.txt"

FileInputStreamfis=newFileInputStream("

System.out.println(fis.read());

byteb[]=newbyte[10];

System.out.println(fis.read(b,5,2));

System.out.println(Arrays.toString(b));

System.out.println(fis.read(b));

FileOutputStreamfos=newFileOutputStream("

aaa.txt"

fos.write(50);

fos.write(b,5,2);

fo

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1