您的位置:首页 > 编程语言 > Java开发

Java学习积累one

2015-09-08 21:35 549 查看
1.

最终类就是被final修饰的类,最终方法就是被final修饰的方法。最终类不能被继承,最终方法不能被重写。

2.

A. StringBuffer类调用toString()方法后将转换为String类型 正确

B. String类型中没有append()方法

C. 可以直接将字符串“test”复制给声明的Stirng类的变量,而StringBuffer类的不行

D. String类的实例只能被改变,因为String是不可变的StringBuffer类的对象调用toString()方法将转换为String类型 这个正确两个类都有append()方法 String类没有append方法可以直接将字符串“test”复制给声明的Stirng类和StringBuffer类的变量 引用类型只有String可以直接复制,其他的都要new出来两个类的实例的值都能够被改变 StringBuffer类不可改变

3.

ava.awt: 包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面

java.lang: 提供java编成语言的程序设计的基础类

java.io:  包含提供多种输出输入功能的类,

java.net:  包含执行与网络有关的类,如URL,SCOKET,SEVERSOCKET,

java.applet: 包含java小应用程序的类

java.util:  包含一些实用性的类

4.

static成员变量是在类加载的时候生成的

static成员函数既可以通过类名直接调用,也可以通过对象名进行调用

虚函数是C++中的,虚函数不可能是static的

static成员函数可以访问static成员变量

5.

Map接口和Collection接口是同一等级的

List接口中的对象按一定顺序排列,允许重复

Set接口中的对象没有顺序,但是不允许重复

Map接口中的对象是key、value的映射关系,key不允许重复

6.

一般有两种用于创建线程对象的方法,一是(),二是()。

从Java.lang.Thread类派生一个新的线程类,重写它的run()方法

实现Runnalbe接口,重写Runnalbe接口中的run()方法

7.

抽象类:用abstract修饰,抽象类中可以没有抽象方法,但抽象方法肯定在抽象类中,且抽象方法定义时不能有方法体;抽象类不可以实例化只能通过继承在子类中实现其所有的抽象方法;抽象类如果不被继承就没有任何意义;抽象类为子类定义了一个公共类型,封装了子类中的重复内容。

接口:同Interface关键字定义接口,是特殊的抽象类因为类中只包含抽象方法;接口中不能定义成员变量可以定义常量;接口是其通过其他类使用implements关键字定义实现类,一个类一旦实现接口就必须实现其中的所有抽象方法,一个类可以实现多个接口,接口名之间用逗号隔开即可;一个接口可以通过extends关键字继承另一个接口,与此同时继承了父类中的所有方法。

8.

抽象方法和抽象类

规则如下:

第一点:抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。

第二点:抽象类不能被实例化,无法使用new关键字类调用抽象类的构造器创建抽象类的实例。即使抽象类里不包含抽象方法,这个抽象类也不能创建实例。

第三点:抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接口、枚举)五种成分。抽象类的构造器不能用于去创建实例,主要是用于被其子类调用。

第四点:含有抽象方法的类(包括直接定义了一个抽象方法;

或继承了一个抽象父类,但没有完全实现父类包含的抽象方法;

或实现了一个接口,但没有完全实现接口包含的抽象方法三种情况)只能被定义成抽象类。

当使用abstract修饰类时,表明这个类只能被继承;当使用abstract修饰方法时,表明这个方法必须由子类提供实现(即重写)。而final修饰的类不能被继承,final修饰的方法不能被重写。因此final和abstract永远不能同时使用。

因此static和abstract不能同时修饰某个方法,即没有所谓的类抽象方法。

要注意的几点:

一:static和abstract并不是绝对互斥的,static和abstract虽然不能同时修饰某个方法,但它们可以同时修饰内部类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: