复习 Java类和对象、继承多态、抽象类接口


一、面向对象三大特征

封装、继承、多态(如果要四大特征,加上“抽象”)

1)封装:隐藏对象的属性和实现细节,仅对外公开接口,
		控制在程序中属性的读和修改的访问级别
		也就是要关注访问限定符、成员变量+成员方法
		
2)继承:继承就是子类继承父类的特征和行为,
		使得子类对象(实例)具有父类的实例域和方法,
		或子类从父类继承方法,使得子类具有父类相同的行为。(代码复用)
3)多态:
		a.定义:同一个行为具有多个不同表现形式或形态的能力
				一个类实例(对象)的相同方法在不同情形有不同表现形式
		b.实现条件:继承关系或实现关系
				   方法重写
				   基类引用 引用派生对象 及接口的引用 引用实现接口的类对象。

二、final关键字

Final用于修饰类、成员变量和成员方法。

成员变量:final int INITSIZE = 10常量,不可变
成员方法:final void fun(){
   }不允许重写,
						   但是可以被重载
						   
类:final class String {
   }不能被继承(String、StringBuilder、StringBuffer、Math,不可变类)
						 不能同时用abstractfinal修饰类,他们起反作用

三、static关键字

我之前总结的 https://editor.csdn.net/md/?articleId=116900111
static作用

类变量:可以通过类名.变量名直接引用,而不需要new出一个类来
	 静态变量和实例变量的区别:1)存储位置:静态在方法区,实例在堆上
	 						2)静态与类有关,一个类只有一份静态变量。实例与对象有关,几个对象几份实例变量
类方法:可以通过类名.变量名直接引用,而不需要new出一个类来
	 静态方法和实例方法的区别:1)调用方式不同,类名.静态方法,对象.实例方法
	 						2)重写:静态方法不能被重写,private方法不被重写
类:静态内部类
	静态内部类和实例内部类的区别:是否包含外部类对象的this

四、设计模式-单例模式

我之前的博客 https://editor.csdn.net/md/?articleId=116900111

条件:私有构造函数,公有静态函数,返回实例对象

懒汉模式

线程不安全,延迟初始化

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

饿汉模式

线程安全,开始就初始化容易产生垃圾

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

全局锁式

线程安全,线程同步时效率不高(synchronized)

public class Singleton{
   
  private static Singleton sin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值