Core Java 自我复习(二)

1.类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物,对象是抽象概念的具体实例。
2.只有构造方法(构造器)不写任何返回类型也不写void。
3.a静态方法,b是非静态方法,a方法中不能直接调用b方法,但是b方法中可以直接调用a方法.

			public static void a(){
				//b();报错
			}
			public void b(){
				a();
			}

4.在同一个类中,静态方法内也不能直接访问到类中的非静态属性。
5.类中有多个方法,有着相同的方法名,但是方法的参数各不相同,这种情况被称为方法的重载。
6.方法重载必须满足一下条件:
1)方法名相同
2)参数列表不同(参数的类型、个数、顺序的不同)
3)方法的返回值可以不同

7.类和类之间的继承是单继承,接口和接口之间,也可以继承,并且是多继承。
8.父类中的构造器是不能被子类继承的,但是子类的构造器中,会隐式的调用父类中的无参构造器(默认使用super关键字)。
9.方法重写只存在于子类和父类(包括直接父类和间接父类)之间。在同一个类中方法只能被重载,不能被重写。
10.重写的语法:

  • 方法名必须相同
  • 参数列表必须相同
  • 访问控制修饰符可以被扩大,但是不能被缩小 public protected default private
  • 抛出异常类型的范围可以被缩小,但是不能被扩大
    ClassNotFoundException —> Exception
  • 返回类型可以相同,也可以不同,如果不同的话,子类重写后的方法返回类型必须是父类方法返回类型的子类型
  • 例如:父类方法的返回类型是Person,子类重写后的返回类可以是Person也可以是Person的子类型

11.子类继承父类,调用a方法,如果a方法在子类中没有重写,那么就是调用的是子类继承父类的a方法,如果重写了,那么调用的就是重写之后的方法。
12.编译看左边,运行看右边。
13.System.out.println(x instanceof Y);
该代码能否编译通过,主要是看声明变量x的类型和Y是否存在子父类的关系。有子父类关系就编译通过,没有子父类关系就是编译报错。
14.System.out.println(x instanceof Y);
输出结果是true还是false,主要是看变量x所指向的对象实际类型是不是Y类型的"子类型"。
15.类型转换中的问题

	//编译通过 运行没问题
	Object o = new Student();
	Person p = (Person)o;
	//编译通过,运行报错
	Object o = new Teacher();
	Student s = (Student)o;

X x = (X)o;
运行是否报错,主要是变量o所指向对象的实际类型,是不是X类型的子类型,如果不是则运行就会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值