构造方法,匿名对象,单例模式,Static,内部类


构造方法:

每个类中都存在一个构造方法,构造方法的主要目的是为类中的属性初始化的

使用关键字 new 的时候才会调用类中的构造方法

要求

1、构造方法的名称必须与类名称一致

2、构造方法的定义时没有返回值类型的声明

3、不能在构造方法中使用return 返回一个内容

4、如果一个类中没有明确的声明一个构造,则会自动生成一个无参的什么都不做的构造方法

5、构造方法允许重载


匿名对象

  • 只使用一次的对象

例如: new Person("张三","30"); (使用过后就成为垃圾了)

  • 一个字符串就是一个String的匿名对象


程序开发思路:

1、完成基本功能

2、改善功能

3、形成更好的结构,加入一些类的设计

4、主方法中不能编写过多代码


对象数组:对象数组包含了一组对象,但是对象数组使用的时候要注意,声明后需要单独实例化

1、声明 :  类名称 对象数组名称[] =new 类名称[长度]

单例模式:(一个类只能有一个实例化对象)

特点:1、这个类只能有一个实例

    2、必须自行创建这个实例

    3、必须自行向整个系统提供这个实例


饿汉模式:

	class Singleton{
		private static Singleton instance = new Singleton();
		private Singleton(){}
		static Singleton getInstance(){
			return instance;
		}
	}

懒汉模式:

class Singleton {
		private static Singleton instance = null;
	
		private Singleton() {
		}
	
		static Singleton getInstance() {
			if (instance == null) {
				instance = new Singleton();
			}
			return instance;
		}
	}



static 的一些相关应用

1、使用static可以统计一个类产生了多少个实例化对象(因为static的属性是所有对象共享的)

2、使用static进行自动命名操作


1、的举例说明

class Person {
	private String name;
	private static int count;

	public Person() {
		count++;
		System.out.println("产生了" + count + "个实例化");
	}
}

public class DemoStatic {
	public static void main(String args[]) {
		new Person();
		new Person();
		new Person();

	}
}

2、的举例说明

class Person {
	private String name;
	private static int count;

	public Person() {
		count++;
		this.name = "no name +" + count;
	}
	public Person(String name){
		this.name = name;
	}
	
	public String getInfo(){
		return "person  name =  "+name;
	}
}

public class DemoStatic {
	public static void main(String args[]) {
		System.out.println(new Person().getInfo());
		System.out.println(new Person("zhang san").getInfo());
		System.out.println(new Person().getInfo());
		System.out.println(new Person("li si").getInfo());

	}
}


代码块 :

普通代码块 (直接在一个方法中出现的“{}”的代码块)

构造块(直接在类中定义的代码块) 优先于构造方法执行

静态代码块 (使用static关键字声明的代码块,称为静态块,主要母的是为静态属性初始化)

静态块优先于主方法执行,静态块优先于构造块执行,而且只执行一次

同步代码块


内部类: (唯一优点:可以方便的访问外部类的私有成员)

一个内部类如果使用static关键字声明的话,则此内部类就将成为外部类,可以直接通过外部类.内部类的形式访问。

在方法中定义的内部类,可以直接访问外部类中的各个成员,但是如果要范围方法中的参数,则在参数上要使用final关键字声明






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值