您的位置:首页 > 编程语言 > Java开发

Java里一些容易混淆的概念

2017-09-03 18:01 316 查看
本文章里的图片来源于

www.how2j.cn

(1)引用:是一种变量的类型,如果一个变量的类型为类类型,而不是基本类型(“整型”“浮点型”“字符型”“布尔型”)里的八种,则该变量为类类型,又叫引用。

是一个名词,不是动词

(2)指向:在Java里创建新对象后,需要有一个引用来指向该对象,否则就无法操作这个新建的对象,否则就称为垃圾对象,与引用相比,指向是一个动词,引用指向对象从而操作。

注:多个引用可以同时指向一个对象,但一个引用在一个时刻只能指向一个像

(3)方法重载:方法名称相同,但是每次传递的参数不同,如果每次传递的参数不同,则可设计为可变参数的重载方法,使用操作数组的方法

eg:public void attack(Hero...heros){
for(int i =0; i<heros.length;i++)
Systrm.out.println(name+"攻击了"+heros[i]);
}


(4)构造方法:(构造器),通过类创建一个对象时(实例化)是通过构造方法实现的,构造方法就相当于对一个新对象进行初始化的方法。

注:

构造方法 的名称与类相同,包括大小写

构造方法无返回类型

实例化一个对象时必然调用构造方法,如果不写,则会默认提供一个无参数的构造方法

构造方法也可以重载

(5)访问修饰符:Java里总共四类访问修饰符:“public”、“package/friendly/default”、“private”、“protected”



以Hero为例:

自身:就是指Hero自身

同包子类:比如ADHero、APHero等

其他类:不同包,不是子类,无继承关系

private:



package/friendly/default:



public:



protected:





修饰符的用法:

A.方法一般用public修饰,方便调用

B.被子类继承的方法一般用于protected保护

C.属性通常用private封装起来

D.package不常用

F.访问就是获取和修改

注:使用修饰符的原则就是作用域最小原则,能用private,就绝对不用protected

(6)类属性,当一个变量被static修饰时,就变为类属性,又叫做静态变量,对于类属性而言,所有对象的值都是相同的

(7)类方法(静态方法),对象方法(非静态方法),

访问类方法,不需要实例化对象,而访问对象方法,则必须要有一个对象

(8)单例模型:

A.饿汉式单例模型

package charactor;

public class GiantDragon {

//私有化构造方法使得该类无法在外部通过new 进行实例化
private GiantDragon(){

}

//准备一个类属性,指向一个实例化对象。 因为是类属性,所以只有一个

private static GiantDragon instance = new GiantDragon();

//public static 方法,提供给调用者获取12行定义的对象
public static GiantDragon getInstance(){
return instance;
}

}


饿汉式就是以空间换时间,先实例化一个对象,调用的时候直接使用就行

B.懒汉式单例模型

package charactor;

public class GiantDragon {

//私有化构造方法使得该类无法在外部通过new 进行实例化
private GiantDragon(){
}

//准备一个类属性,用于指向一个实例化对象,但是暂时指向null
private static GiantDragon instance;

//public static 方法,返回实例对象
public static GiantDragon getInstance(){
//第一次访问的时候,发现instance没有指向任何对象,这时实例化一个对象
if(null==instance){
instance = new GiantDragon();
}
//返回 instance指向的对象
return instance;
}

}


懒汉式就是以时间换空间,先不实例化,等到调用时再进行实例化

单例模式三要素

1. 构造方法要私有化

2. 静态属性(类属性)指向实例

3. public static getInstance()方法,返回第二步的静态属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 对象