继承,多态,抽象,接口

继承

super和this

this指代当前类的当前对象的属性值;super指代父类的属性

当父类的引用指向子类的对象时。

  1. 能执行哪些方法看的是引用的类(左边)
  2. 当有重写时,执行哪一个方法看的是对象的类型(右边)

多态

  1. 多态是方法的多态,属性没有多态。
  2. 父类和子类是有联系的。 ClassCastException
  3. 存在条件:方法重写。另外注意:
  • static 方法,属于类,不属于实例。
  • final 方法不允许被重写。
  • private 方法也不允许重写。

instanceof 关键字

  • 作用:(类型转换)引用类型,判断一个对象是什么类型。

抽象,接口

PS:

  • 类只有单继承,但是接口可以多继承。
  • 接口不能被实例化。(但是可以被匿名使用)
  • 必须重写接口中的方法
  • 接口中的所有定义都是抽象的,默认省略public abstract。
  • 接口中默认的属性都是static的。
public interface Gucci {
//	下面两种定义方法是等价的
//	void run();
//	int age = 99;
	public static final int age = 99;
	public abstract void run();
}
	public static void main(String args[]) {
//		匿名的方式调用一个类中的方法
		new Apple().eat();
//		匿名的方式调用一个接口中的方法
		Person person = new Person(){

			@Override
			public void sleep() {
				// TODO Auto-generated method stub
				System.out.println("i m sleeping");
			}
			
		};
		person.sleep();
	}
///////////////////////////////////

//定义一个类
class Apple{
	public void eat() {
		System.out.println("i m eatting apple");
	}
}
//定义一个接口
interface Person{
	void sleep();
}
普通类 抽象类 接口
具体实现 具体实现 +规范(抽象方法) 规范
extends extends inplements

注意点:

  1. 抽象类不能new,它只能靠子类去实现,相当于是一个约束而已。
  2. 抽象类中可以写普通的方法
  3. 抽象方法必须在抽象类中。

抽象方法

只有方法的名字,没有方法的实现。

内部类

包括:成员内部类,静态内部类,局部内部类
即,在类中的内部类,类中的static内部类,方法中的局部内部类。

PS:

  • 一个java类中可以有多个class,但是只能有一个Public的class。

posted on 2022-11-27 19:19  chillmusic  阅读(21)  评论(0编辑  收藏  举报

导航