java小知识点3

调用对象方法的执行过程:

  • 编译器查看调用对象的类型和方法名
  • 编译器查看调用方法时提供的参数类型
  • 如果是静态绑定方法(private、static、final),编译器可以直接确定下来
  • 虚拟机调用x实际对象最适合那个类的方法

将方法或者类声明为final的意义:确保他们不会在子类中改变语义

在java中,只有基本类型不是对象,所有的数组都是Object类的子类。

只要对象与字符串通过+连接,就会自动调用对象的toString方法。

java可以在运行时确定数组大小:

自动装箱、自动拆箱-》编译器认可

JAVA反射:

 

获取类名:

1 Date date = new Date();
2 Class class1 = date.getClass();
3 System.out.println(class1.getName());

加载类:

Class class2 = Class.forName("java.util.Date");

创建实例(此处的newInstance方法只能调用无参构造方法):

1 Class class2 = Class.forName("java.util.Date");
2 System.out.println(class2 == Date.class);
3 Date d = (Date) class2.newInstance();

已检查异常和未检查异常:

  • 已检查异常编译器会进行检查,throws等等
  • 未检查异常编译器不检查

 继承设计的技巧:

  • 将公共操作和域放在超类
  • 不要使用protected
  • 使用继承实现is a关系
  • 除非所有继承的方法都有意义,否则不要使用继承
  • 在覆盖方法时,不要改变预期的行为
  • 使用多态而非类型信息
  • 不要过多的使用反射

转载于:https://www.cnblogs.com/zcy-backend/p/6853034.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值