Java学习笔记

基本概念

- 接口
可以有变量和方法,但是方法只有签名。接口定义子类必须做什么事,但是不规定应该如何做。接口定义的所有方法,子类需要全部实现;若子类只实现了接口中的部分方法而非全部方法,那么该子类需标注为抽象类。

- 抽象类
不同于接口,抽象类可以有已经定义方法体的方法,并且可以有静态方法。(接口中的所有方法都不能定义方法体)抽象类定义的变量不必是final的,而接口中的变量默认是static且final的。抽象类可以实现接口。

- 匿名类
匿名类允许我们在定义类的同时实例话,并且不需要给这个类起名字。当我们需要一个内部类,并且只使用一次的时候,就可以使用匿名类。
Anonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like local classes except that they do not have a name. Use them if you need to use a local class only once.

- 重写override
子类继承父类后,对父类方法的改写。只改写方法体,方法的签名不变。

- 重载overload
同一个类里,有方法名相同的多个方法,但是其参数列表不同。

数据类型

- Integer
int是java默认的整数类型,用32位二进制数记录,其中有一位用来表示正负,那么其二进制数的表示范围就是-231 - 231-1, 也就是十进制的 -2,147,483,648 - 2,147,483,647。

- String:compareTo()
A.compareTo(B), 比较的是两个字符串首字母在unicode中的位置关系。unicode是用十六进制(Hexadecimal)将字符编码排序。空格串的编码为U+0020,数字0的编码为U+0030,所以“ ”.compareTo(0) 的结果就是-16,因为十六进制中20-30=-16。数字1到9紧跟在0后面,然后大写字母A-Z的编码为U+0041-U+005A。所以“0”.compareTo(A)就是十六进制的30-41=-17。小写字母a-z的位置是U+0061-U+007A。
我们也可以换一个思路去思考对比的结果:A.compareTo(B),假设字符串B的首字母的位置是0,那么A的首字母的位置距离B首字母多远,答案的绝对值就是多少。如果A在B左边,那么答案就是负数;如果A在B右边,答案就是正数。
当两个字符串首字母相同时,就会比较两个字符串的第二位,规则相同,以此类推。如果所有字符都相同,该方法返回值为0。但当A是B或者B是A的subString[0,x]时,返回结果的数值反映的是两个字符长度的差异值。举个例子:“A”.compareTo(“A12345 6”)=-7,因为"A"比"A12345 6"少了7个字符的长度。

集合

- List
list后面的<> 里面可以填多种类型,但是如果不填写类型那就默认为 Object 类型。而当我门再从list 中取出该数据时,单个元素可以转变为其原本属性。

Throwable

  • Error 错误
    错误通常是不用应用程序担心的问题,比如设备的内存不够。
  • Exception
    而异常是编译或者运行代码时会出现的问题,需要我们在编写程序的时候注意。

参考

https://blog.csdn.net/u012373815/article/details/53925127

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值