java基础学习中容易被忽视的东西

java基础包含内容:
我认为java基础主要包括数据类型和运算符、流程控制、方法与数组、String、类和对象、包和访问控制、继承和多态、抽象类和接口等。

数据类型和运算符对初学者来说是很容易理解的,要注意的就是要大概知道数据类型所占的字节数,还有就是byte和byte,short和short进行运算的时候都会转成int类型,此实要注意对数据类型的强转。其次还要注意定义float类型的值时候要在后面加f,定义long数据类型的时候要在后面加l,我就经常忘这些细节。最后要注意的就是要了解这些数据在内存中是如何存储的。我觉得这也是比较重要的一个知识点。

流程控制没什么好说的就是一些if、while、for、switch基础语句,这些语句也是一个程序员最基本的,都是经常用到的,没什么特别要注意的。

方法与数组这里要注意的也是要了解数组是如何在内存中存储的,包括二维数组,字符串数组等。都要有大概的了解。

String就不用多说了,一些常见的方法要掌握。比如:charAt、length、indexOf、toUpperCase、toLowerCase、substring、valueOf、split等,这些都是我刷一些题要经常要用的。其他用到的查API就可以了。StringBuffer类也是经常要用到的。String其实赋值以后就不会改变了,之所以我们可以对他进行更改其实是因为虚拟机又从新划分了一个新的内存存储这个字符串,以前的就被回收机制自动回收了。StringBuffer可以对字符串进行拼接更改。

类和对象这里容易被忽视的就是静态初化始块、初始化块。很多网上的课程都是不讲这些内容的,这些块的执行都是在对象执行构造函数前执行的,特别注意静态初始化块只执行一次。访问权限也是一个容易被忽视的问题。

包和访问控制也是权限的问题。

继承和多态是重点,这里就要拥有抽象能力,要能把任务需求中的对象抽象出来,这种能力是很多人都会忽视的,毕竟参加一些比赛都不会用到这种抽象方法抽象出类。向下转型需要强制转,这时候最好使用instanceof判断一下是不是可以强制转化。还有一个是属性覆盖的问题:请看下面的代码。

public class Sub extends Super{
	public int i = 100;
	public static void main(String [] args){
		Sub sub = new Sub();
		System.out.println(sub.i);
	}
}
class Super{
	public int i = 50;
}
//这段代码运行的结果是100,说明子类的属性覆盖了父亲的属性。将代码修改为:
public class Sub extends Super{
	public int i = 100;
	public static void main(String [] args){
		Super sub = new Sub();
		System.out.println(sub.i);
	}
}
class Super{
	public int i = 50;
}
//程序运行结果是50,说明创建父类对象实现的时候用子类实现,此时这个对象的属性为父亲的属性,不会被子类覆盖。

抽象类和接口经常在面试的时候问两者之间的区别。注意抽象类中可以有普通方法,也可以有抽象方法,也可以没有抽象方法。但是普通类中一定没有抽象方法。接口也可以有自己的属性,只不过属性默认是public static final,一般不允许修改。

目前我也是一个大学生。上学期学完了java,这几天看了一本关于java基础的书,发现很多东西都是上课学不到,并且是很容易被忽视的。这里只是列出了容易忽视的问题。推荐各位学习java的小伙伴们不要急于求成,要把基础打好。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值