------------------- android开发、java培训、期待与您交流! ----------------------
黑马程序员-Java容易混淆的几个概念
基本类型与包装类型的区别
基本类型:
char,byte,short,int,long,float,double,boolean
对应的包装类:
Character,Byte,Short,Integer,Float,Double,Boolean
int 是基本类型,直接存数值
Integer是类,产生对象时用一个引用指向这个对象
Java把内存划分成两种:一种是栈内存,另一种是堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配
而实际的对象是在存储堆内存中
即
int i = 5;//直接在栈中分配空间
Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中
int一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方
==========================================
说明 == 与 equals 的区别,以代码的方式说明.
Integer int 1 = new Integer (1);
Integer int 2 = new Integer (1);
Integer int 3 = int 1;
System.out.println(int 1==int2); false 地址不同,==比较为false
System.out.println(int 1==int3); true 地址相同
System.out.println(int 1.equals(int2)); true 值相同,equals比较为true
==========================================
构造方法与方法不同的是的名字必须与类名相同.当new执行时构造的方法被执行.
Public Initl(){
System.out.println(“Initl…”)
}
而在变量的初始化的顺序中先初始化成员变量,而后再是构造的方法.
再有静态变量的程序中是先执行静态变量,在执行构造方法最后在执行方法.且static 的东西有且仅有一个.
构造方法和方法的区别:
构造方法要与类名相同,无返回类型,在类初始化的时候调用。
方法最好与类名不同,对象调用,静态方法可用类名.方法().
构造器和方法在下面三个方面区别:修饰符,返回值,命名。
1。和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。
2。返回类型也是非常重要的。方法能返回任何类型的值或者无返回值(void),构造器没有返回值,也不需要void。
3。两者的命名。构造器使用和类相同的名字,而方法则不同。按照习惯,方法通常用小写字母开始,而构造器通常用大写字母开始。构造器通常是一个名词,因为它和类名相同;而方法通常更接近动词,因为它说明一个操作。
构造函数的作用:可以用于给对象进行初始
构造函数是在对象一建立就运行,给对象初始化;
而一般方法是对象调用才执行,给对象添加对象具备的功能
一个对象建立,构造函数只运行一次;
而一般方法可以被该对象调用多次。
==========================================
接口和抽象类的区别
1. 接口和抽象类都不能被直接实例化,都可以通过继承实现其抽象方法;
2. 接口支持多继承;
3. 抽象类不能实现多继承;
4. 接口只能定义行为;
5. 抽象类既可以定义行为,还可能提供实现;
6. 接口可以用于支持回调;
7. 抽象类不能实现回掉,因为继承不支持;
8. 接口只包含方法,属性,索引器,事件的签名,但不能定义字段和包含实现的方法。
------------------- android开发、java培训、期待与您交流! ----------------------