1.如果将一个类打包,使用该类的时候,必须使用该类的全名,java编译器才能找到。
2.也可以使用import 导入这个包。
3.可以不需要import语句 直接使用 java.lang包中的类。
4.权限修饰符java中一共有四个: private,default ,protected,public. 修饰符置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。
修饰符 | 类内部 | 同一个包 | 子类 | 任何地方 |
---|---|---|---|---|
private | Yes | |||
default | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |
-
对于class的权限修饰只可以用 public 和default。
public类可以在任意地方被访问
default类只可以被同一个包内部的类访问
-
java中使用 extends关键字实现类的继承机制。通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。
-
java只支持单继承,不允许多继承:一个子类只能有 一个基类,一个基类可以派生多个子类。
-
子类的构造过程中必须调用基类的构造方法。
子类可以再自己的构造方法中使用 super(argument_list)调用基类的构造方法。
使用this(argument_list)调用本类的另外的构造方法。
如果调用super,必须写在子类构造方法的第一行。
如果子类的构造方法中没有显式调用基类构造方法,则系统默认调用基类无参数的构造方法。
如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参的构造方法,编译出错。
9.Object类中定义有
public boolean equals(Object obj)
方法,提供定义对象是否“相等”的逻辑。方法定义为 x.equals(y),当x和y所引用的对象是同一个对象的引用时返回true否则返回false。10.j2sdk提供的一些类,如String Date等,重写了Object的equals方法,调用这些类的 equals方法,当引用的对象是同一类对象且属性内容相等时(并不一定是相同对象)返回true,否则返回false。
11.可以根据需要在用户自定义类型中重写equals方法。
12.对象转型
一个基类的引用类型变量可以“指向”其子类的对象。
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
可以使用
引用变量 instanceof 类名
来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。子类的对象可以当作基类的对象来使用称作 向上转型,反之称为向下转型。
13.多态的必要条件:
1.要有继承
2.要有重写
3.父类引用指向子类对象
14.用abstract修饰的类叫抽象类,修饰的方法叫抽象方法。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 抽象类不能被实例化。 抽象方法只需声明 不需要实现。 -
final的变量的值不能被改变(final的成员变量、final的局部变量(形参)),final的方法不能被重写,final的类 不能被继承。
16.接口 :多个无关的类可以实现同一个接口。一个类可以实现多个无关的接口。
与继承关系类似,接口与实现类之间存在多态性。 接口是抽象方法和常量值定义的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
17.接口里声明的舒兴国默认为 public static final,也只能是 public static final的。接口中只能定义抽象方法,而且这些方法默认是public的 ,也只能是public的。接口可以继承其他接口,并添加新的属性和抽象方法。