java oop 基础

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
  1. 对于class的权限修饰只可以用 public 和default。

    public类可以在任意地方被访问

    default类只可以被同一个包内部的类访问

  2. java中使用 extends关键字实现类的继承机制。通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。

  3. java只支持单继承,不允许多继承:一个子类只能有 一个基类,一个基类可以派生多个子类。

  4. 子类的构造过程中必须调用基类的构造方法。

    子类可以再自己的构造方法中使用 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修饰的类叫抽象类,修饰的方法叫抽象方法。 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 抽象类不能被实例化。 抽象方法只需声明 不需要实现。

  5. final的变量的值不能被改变(final的成员变量、final的局部变量(形参)),final的方法不能被重写,final的类 不能被继承。

16.接口 :多个无关的类可以实现同一个接口。一个类可以实现多个无关的接口。 与继承关系类似,接口与实现类之间存在多态性。 接口是抽象方法和常量值定义的集合。 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 17.接口里声明的舒兴国默认为 public static final,也只能是 public static final的。接口中只能定义抽象方法,而且这些方法默认是public的 ,也只能是public的。接口可以继承其他接口,并添加新的属性和抽象方法。

猜你喜欢

转载自www.cnblogs.com/chengyunshen/p/12011881.html