java基础知识点

来源:互联网 发布:linux配置网关 编辑:程序博客网 时间:2024/05/17 03:25

1.      当且仅当类中没有明确定义任何构造方法时才会自动提供默认构造方法。

2.      String,数组被看成是对象,用new操作符创建的。

3.      匿名对象:newCirlce(5).getArea();

4.      Java没有给方法中的局部变量赋默认值。

5.      静态方法或静态数据可以通过引用变量或它们的类名来调用。

6.      静态变量和静态方法既可以在类的实例方法中使用,也可以在类的静态方法中使用。但是实例变量和实例方法只能在实例方法中使用,不能再静态方法中使用。

7.      如果没有使用可见性修饰符,默认为类、方法、数据域可以被同一个包中任何一个类访问。

8.      如果一个对象是在它自己的类中定义的,那么这个对象可以访问它的私有成员。

9.      Private只能用在类的成员上,public可以应用在类或类的成员上,在局部变量上使用public和private都会导致编译出错

10.  Java只有一种参数传递方式:值传递(基本类型值传递和引用值传递)

11.  一个类的所有数据都是私有的且没有修改器,并不意味着它一定是不可变类(除非它没有一个访问器方法,它会返回一个指向可变数据域的引用)

12.  Circle(){this(1);}Circle(double radius){this.radius=radius;}

13.  Java中只允许单一继承,多重继承是通过接口来实现的。

14.  Super:调用父类的构造方法(super()),调用父类的方法(super.方法名())

15.  静态方法可以被继承,但不能被覆盖

16.  System.out.println(Circle)等价于System.out.println(Circle.toString());

17.  面向对象程序设计的3个特点:封装,继承,多态

18.  多态:使用父类对象的地方可以使用子类对象。

19.  Object o = newCircle();System.out.println(o);o调用哪个toString()方法由o的实际类型所决定,这称为动态绑定

20.  Object myObject = newCircle();   if(myObject instanceofCircle){}

21.  在子类中,使用equals(Circle c)是错误的,应该使用equals(Objectobj);

Public Boolean toString (Object obj){

If(objinstanceof Circle)

return radius ==((Circle)obj).radius;

else returnfalse;
}

22.  使用private可以完全隐藏类的成员,不使用修饰符表示允许同一个包里的任何类直接访问类的成员,使用protected修饰符允许任何包中的子类或同一包中的类访问类的成员,使用public修饰符允许任意类访问类的成员。

从左到右可见性增加:private,none,protected,public

23.  private和protected只能用于类的成员

24.  子类可以覆盖它的父类的protected方法,并把它的可见性改为public,但是子类不能削弱父类中定义的方法的可访问性

25.  public final class C{}表示这个类是终极类,不能被继承

26.  public class Test{ public finalvoid m()}表示这个方法不能被覆盖

27.  一个类中有一个方法是abstract的,那么这个类就是abstract,可以定义一个不包含抽象方法的抽象类

28.  抽象类不能使用new来初始化,但仍然可以定义它的构造方法供子类调用

29.  即使子类的父类是具体的,这个类也可以是抽象的,比如Ojbect是具体的,但它的子类XXX可以使抽象的

30.  接口只包含常量和抽象方法

31.  深复制:public Objectclone(){ House h = (House) super.clone(); h.date = this.date.clone(); returnh;}   浅复制:public Object Clone() {return super.clone();}

32.  利用extends 接口可以继承其他接口

 

1、  一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

2、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

 由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

3、用最有效率的方法算出2乘以8等於几?

2 << 3

4、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。

0 0