单例模式、接口、abstract和final修饰符14

内容

  • 单例模式
  • abstract修饰符
  • final修饰符
  • 接口

单例模式

  • 控制一个类有且只有一个对象
//1。醉汉式
class Sun{

	//私有化构造方法
	private Sun();
	//创建私有的、静态的,属于本类类型的对象
	private static Sun only = new Sun();
	//提供一个公共的、静态的、返回本类类型的对象的方法
	public static Sun getOnly(){
		return only;
	}

}

//2.懒汉式:尚不完善
class Sun{
	private Sun(){}
	public static Sun only;
	public static Sun getOnly(){
		if(only == null)
			only = new Sun();
		return only;
	}
}

abstract修饰符

  • 抽象类、不能创建对象
  • 一个类里面只要出现了抽象方法,那么这个类一定要变成抽象类
  • 面试题:finnal和abstract能不能同时修饰一个方法?
    不能,finnal修饰的方法叫最终方法,不能被覆盖;abstract修饰的方法叫抽象方法,需要子类区覆盖。所以矛盾。

finnal修饰符

  • final能修饰:类、方法、变量(属性+局部变量)
  • 面试题:String和Math类都是用final修饰的,为什么?
    String类叫做字符串类,是Java中比较基础、核心的类,越是基础,越是核心的类,越应该保持一致;Math类里面定义的都是公式定理,不能随意的修改。
  • finnal修饰方法,只能被继承,不能被覆盖

接口

  • 如何定义接口
	interface xxx{
	
		//接口里面的属性默认加上三个修饰符:public、static、final
		int x = 45;
		
		//接口里面的方法默认加上两个修饰符:public、abstract
		void test();

	}

  • 接口是一个规范,不能创建对象

  • 面试题:抽象类和接口之间的的区别
    1.类型不同 抽象类:class;接口:interface
    2.实现不同 抽象类:extends 单根继承;接口:implements 多重实现
    3.里面定义的属性不同 抽象类:默认都是普通的属性;接口:默认都是静态的最终变量
    4.里面定义的方法不同 抽象类:既可以定义抽象方法也可以定义普通方法;接口:只能写抽象方法,从jdk8.0开始接口里面允许出现普通方法了,但必须加上static。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值