类和对象 知识点总结

一、引用    是一个类类型的变量,即实例化的过程

       例 :hero n=new hero();中的n就是引用,这里 = 是指向(代表)的意思,new hero()是对象

二、继承别的类属性--------extends

三、方法重载

       指的是方法名一样,但是参数不一样

四、构造方法

       指的是方法名和类名一样,而且没有返回类型。实例化对象的时候必然会用构造方法

五、this----就是我的意思,即代表当前对象

六、传参----也是变量,有基本类型传参和类类型传参两种

七、包 ----   要想使用其他包下的类,这时候要注意修饰符的作用

八、修饰符-----已详细讲过这里不说了

九、类属性(是指被static修饰的属性也叫做静态属性)----所有对象共享的数据

      例 static String name;

十、类方法(是指被static修饰的方法又叫做静态方法)----注意和对象方法( 也叫实例方法)的            区别----类方法不需要对象存在就能访问,而对象方法必须有一个对象的前提下才能访问

十一、初始化----对象属性初始化和类属性初始化(测试发现构造方法最后运行)

        对象属性初始化有三种:声明属性的时候、初始化块、构造方法中

        类属性初始化有两种:声明属性的时候、静态初始化块

十二、单例模式(又叫singleton,分为饿汉式和懒汉式)----指的只有一个实例存在的类

    三元素:
  1. 构造方法私有化、2. 静态属性指向实例、 3. public static的 getInstance方法,返回第二步的静态属性

   使用方法:

饿汉式是立即加载的方式,无论是否会用到这个对象,都会加载。
如果在构造方法里写了性能消耗较大,占时较久的代码,比如建立与数据库的连接,那么就会在启动的时候感觉稍微有些卡顿。

懒汉式,是延迟加载的方式,只有使用的时候才会加载。 并且有线程安全的考量
使用懒汉式,在启动的时候,会感觉到比饿汉式略快,因为并没有做对象的实例化。 但是在第一次调用的时候,会进行实例化操作,感觉上就略慢。

所以还是看业务需求,如果业务上允许有比较充分的启动和初始化时间,就使用饿汉式,否则就使用懒汉式

        1==饿汉式单例模式:

private GiantDragon();

private static GiantDragon instance=new GiantDragon ();

public static GiantDragon getInstance(){

return  instance
}

package wdlx;
//饿汉单例模式
public class wx {
    private wx(){
    	//通过私有化其构造方法,使得外部无法通过new 得到新的实例。
    }
    private static wx instance=new wx();//准备一个类属性,指向一个实例化对象。 因为是类属性,所以只有一个
    public static wx getInstance(){
    	 //public static 方法
    	return instance;
    }
	public static void main(String[] args) {
		// TODO Auto-generated method stub
       
	}

}

  2==懒汉式单例模式

懒汉式和饿汉式不同,只有在调用getInstance的时候才能创建实例

private garen(){

}

private static garen instance;

public static garen getInstance(){

if (null=instance){

instance =new garen();

}

return instance;

}

package wdlx;
//懒汉单例模式
public class zxx {
    private zxx(){
    	//通过私有化其构造方法,使得外部无法通过new 得到新的实例。
    }
    private static zxx instance;//准备一个类属性,用于指向一个实例化对象,但是暂时指向null
    public static zxx getInstance(){
    	//第一次访问的时候,发现instance没有指向任何对象,这时实例化一个对象
    	if(null==instance){
    		instance=new zxx();
    	}
    	//返回 instance指向的对象
    	 return instance;
    }
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

十三、枚举类型(是一种特殊的类)----使用枚举可以很方便的定义常量

总结:利用增强for循环,switch 

package wdlx;

public enum enumTest {
	TANK ,
	WIZARD ,
	ASSASSIN ,
	ASSIST ,
	WARRIOR,
	RANGED ,
	PUSH ,
	FARMING;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
      for(enumTest n:enumTest.values()){
    	  switch(n){
    	  case TANK:System.out.println("坦克");
    	  case WIZARD:System.out.println("法师");
    	  }
      }
	}

}

       

       

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值