java零碎知识

1、java中除了static和final方法(private方法默认是final的)之外,其他所有的方法都是后期绑定(运行时绑定)

      private方法、static方法、final方法、构造器,都是静态绑定

2、java方法(除static和final)是后期绑定,若有Circle extends Shape,且Shape中有draw(),Circle也重写了draw(),那么,Shape s = new Circle()时,s.draw()调用的是Circle的draw()

      但是,如果Shape中draw()是private,Circle中draw是public或private,那么s.draw()调用的是Shape的,因为private默认是final的,那么Circle中的draw()是一个新的方法而不是继承来的

    注:若把draw()换成数据成员,如int field,那么s.field将是Shape的,任何域访问操作都将由编译器解析,不是多态的

3、抽象类并不需要所有方法都是抽象的,但一旦有抽象方法,那么这个类必定是抽象类

      接口可以看作是一个完全抽象的类,也就是所有方法都是抽象的,更高层目标是多继承

4、接口中的域默认是static final,接口中的方法默认是public

5、使用接口的核心原因:为了能够向上转型为多个基类型

      第二个原因:防止客户端程序员创建它的对象

注:如果要创建不带任何方法定义和成员变量的基类,应该选择接口而不是抽象类。

       实事上,如果知道某事物应该成为一个基类,那么第一选择应该是使它成为接口。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6、变量的声明最好尽可能靠近第一次使用的地方

7、java中常量,用final修饰,类常量用static final,变量名通常大写,多个词可用下划线

8、&&和||是短路的逻辑运算符,&和|是位运算符

9、Math类中有很多数学函数(在包java.lang.Math中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值