java学习笔记

来源:互联网 发布:ubuntu 17.10 编辑:程序博客网 时间:2024/05/22 15:49

一、equals和==的区别
1.首先要区分=与==的区别
这两个只有在比较的对象是基本类型时才能比较,对象的话不能进行比较
=的意思是将值复制给变量,==是比较两个变量存储的值是否相同。(请注意这里是复制给变量,因为Java是传参是值传递,把值复制一份给变量,自身是不变的)
例如,(对不起那个代码器不太会用)
int  a=10;
int b=15;
int c=20;
System.out.println(a==b);
System.out.println(a==c);
 2.只有在比较对象的时候才用equals关键字,注意这里比较的是对象,不是基本数据类型。
==在比较对象的时候问的是变量所绑定的对象是否是一致的,而equal是问的是变量绑定的对象所含的值是不是一样的,注意区分这里是对象和值的区别。
例如:
A.a=new A("1");
B.b=new B("1");
System.out.println(a==b); //错误
System.out.println(a.equal(b));//正确

二、构造器是可以看作一种封装吗?
可以,我们首先明确封装的含义,封装简单来说就是外部不能获取到的数据和方法,构造器的作用是什么?不就是为了初始化对象吗,给对象初次建立就一个数据和方法吗?你学到继承,老师就会讲到构造器不会被继承,还有private修饰的属性和方法,你难道还不懂,注意,这里的构造器不是不能被继承,可以获得它的初始化,就像构造器重载一样,还有如果那个公司面试问你重载和重写有撒区别,呵呵,你还是不要去了吧。

三、我们写代码是不是经常看见System.out和String,这两个还必须大写,Java的命名规则是撒,类的首字母是要大写的,对吗,那你想System,out是撒含义呢?是不是一个类引用了一个静态方法呢,这个静态方法是不是out,是不是很神奇,还有String是撒,我就不说了。

四、我是菜鸟我都恨我自己,记住各位新手菜鸟们,当你准备抄一段代码时,为了类名会报错了,不是中文呀,不是没有大写呀,我现在说给你听,你估计要扇死自己。一个类只能有一个public修饰,不要问为什么,龟腚,public修饰的类名必须与文件名一致,不要问为什么,龟腚,这是最容易错的地方。
五、默认的构造方法到底是撒?
你肯定会说是new呀,我无语了,默认的构造器是谁自动填充的,是java虚拟机,哥们,它自己就写出来了,还用你写出来吗。
六,this和super
其实this和super的作用是一致的,就是指明是“这个”,this出现在一个类中,而super是在继承中使用,专门调用父类的方法和属性。他们都会出现在构造器的第一行,我也不知道为什么,书上说的。
七.今天就写到这里,明天看有时间写没有,明天估计写super和转型,重写的两同两小一大原则,我要去撸代码了,哎,破釜成舟了,势必转行做技术。我是菜鸟有可能有错的,请指出来,帮帮我。谢谢大神们。
0 0
原创粉丝点击