1.回顾
Static 关键词 修饰符 主要修饰成员方法和成员变量
使用static修饰的成员变量被称为类变量
使用static修饰的成员方法被称为类方法
未使用static修饰的成员变量被称为实例变量
未使用static修饰的成员方法被称为实例方法
类成员只能使用类成员不能使用实例成员
静态的只能使用静态的不能使用非静态
非静态的可以使用静态的也可以使用非静态的
使用static关键字修饰之后 多了一种调用方式 类名.类成员
未使用static修饰的只能使用对象来进行调用
静态代码块:静态代码块随着类的加载进行加在
(1)Static可以修饰内部类
Static{
执行语句
}
(2)实例代码块:随着对象的创建进行加在 优先于构造函数的加在
{
执行语句
}
(3)整个类的加在过程:
父类的静态变量
父类的静态代码块
子类的静态变量
子类的静态代码块
父类的非静态变量
父类的构造函数
子类的非静态变量
子类的构造函数
(4)包的使用 Package
一般都是域名倒着写: com.offcn.功能名
Import 作用是导包
(5)访问修饰符
Private default protected public
(6)设计模式 23中设计模式
单例设计模式 :
饿汉设计模式
懒汉设计模式 (推荐使用懒汉设计模式)
2. 内部类(在一个类当中有定义类被称为的内容类)
成员内部类:
方法内部类 :在方法中定义个类被称为方法内部类
匿名内部类: 没有名字的类被称为匿名内部类
直接去new 接口或者直接new抽象类
需求?
计算形状的面积和周长?
有些行为无法用具体的语言进行表述 那么我们就称这样的行为为抽象行为 抽象方法
[修饰符] abstract 返回数据类型 方法名([参数数据类型 参数名,参数数据类型 参数名]);
[修饰符] 返回数据类型 方法名([参数数据类型 参数名,参数数据类型 参数名])
{
}
3. 抽象类(一类事物无法用具体的语言进行表述 我们就把当前这个类定义为抽象类)
Public abstract class 类名{
属性
行为
}
如果一个类当中有抽象方法那么这个类一定是抽象类
如果一个类是抽象类不一定有抽象方法
抽象类的作用:就是给子类来进行继承的
继承的过程当中也会把抽象方法继承,这个时候子类需要重写父类当中抽象方法
如果向上转型之后调用一个方法的话 如果这个方法被子类进行重写,则调用重写之后的方法
4. Instaceof 判断一个对象是不是属于这个类型的
接口: 比抽象类还要抽象的内容,是一个规范
接口和类是同一级别
给别的东西作为一个扩展进行使用
商城项目:
A c
张三 李四 网二 码子
商品信息 购物车 支付 订单
Public interface 接口名{
抽象方法:
常量
}
接口作用:是给类来进行实现的 implements
实现的过程就是继承的过程
实现:
Publicc class 类名 implements 接口名,接口2,接口3。。。。{
}
继承:
Public interface 接口名 extends 父接口1,父接口2,,,,{
}