JAVA三大特征封装/继承/多态/static/super/this/Object/final/单例模式饿懒汉

----------------------------------------------------关于封装
修改属性的可见性private
创建getter/setter方法
在getter/setter方法中加入属性控制语句

static关键字

public static int ;// 静态属性/类属性
public static void eat(){}; // 静态方法/类方法
不可以添加到类 public static class Cat{} 不存在静态类
不可以存在方法中的静态局部变量 public Cat(){ static int num=14; }

public void run(String name){
{}//存在方法当中 ----普通代码块
}

{} //存在类当中的 —构造代码块

static{} //静态代码块

1静态成员的生命周期:类的加载时产生,销毁时释放,生命周期长
2静态方法中的成员调用:
可以直接访问类中的静态成员
不可以直接访问类中非静态成员,只能通过对象实例化之后通过对象的形式访问
3各种代码块的执行顺序(静态代码块只执行一次,构造代码块在每次对象构造的时候调用)

----------------------------------------------------关于继承
方法重载
1同一个类中
2方法名相同,参数列表不同(参数顺序/个数/类型) 就是可以重载
3方法返回值/访问修饰符任意 对重载没关系

方法重写
1有继承关系的子类中 叫方法重写
2方法名相同,参数列表相同(参数顺序,个数,类型),方法返回值 都要求相同才可以重写
3返回值类型与父类兼容
4访问修饰符,访问范围需要大于等于父类的访问范围
5与方法参数的名无关
在这里插入图片描述
关键字super:父类对象的引用
使用方法:super.eat(); 调用父类的构造方法:super(name,month);
注:子类构造默认调用父类无参构造方法,可以用super()调用父类允许被访问的其他构造方法,
super()必须放在子类构造方法有效代码的第一行
super.print();//访问父类成员方法 super.name;//访问父类属性 super();访问父类构造方法

this当前对象 super父类对象 都不能在静态方法被调用的
this(); //表示调用同类的无参构造方法 super同理
但是两个调用无参构造方法都要抢占第一行 一山容不了二虎

继承后的初始化顺序
父类静态成员->子类的静态成员->父类对象构造->子类对象构造
注:父类的构造方法不允许被继承/不允许被重写

Object是所有类的父类

final class: 该类没有子类 public final class / final public class
final 方法: 该方法不允许被子类重写,但是可以正常被子类继承使用
final 方法内局部变量: 只要在具体的使用之前进行赋值即可,一旦赋值不允许被修改
类成员属性:赋值过程: 1、定义直接初始化 2、构造方法 3、构造代码块
final 不可以修饰构造方法

引用数据类型 final 引用数据类型有:类 String System 数组…
例如 final Animal animal = new Animal(‘凡凡’,1); 如果animal = new Animal(); 变量就不可以重新赋值
对象里面的属性可以修改animal.month=12; 可以赋值

final static 或者 static final 可以定义全局不被修改的内容
例如配置信息:public static final String URL = “www.baidu.com”;

单例模式

目的:

使得类的一个对象成为该类系统中唯一的实例

定义:

一个类有且仅有一个实例,并且自行实例化向整个系统提供

要点:

1某个类只能有一个实例
2必须自行创建实例
3必须自行向整个系统提供这个实例

实现:

1只提供私有的构造方法
2含有一个该类的静态私有对象
3提供一个静态的公有方法用于创建 获取静态私有对象

饿汉懒汉

饿汉式 在类加载时就创建实例 加载速度快 空间换时间 (对象创建过程中 实例化)
懒汉式 在第一次使用时进行实例化 加载速度慢 时间换空间(静态公有方法中实例化)

饿汉式在多线程程操作时 线程安全
懒汉式在多线程并发操作 可能存在线程风险 有很多的方法解决:
1同步锁 2双重校验锁 3静态内部类 4枚举

----------------------------------------------------关于多态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值