今天学习了 三大修饰符!
什么是修饰符呢?
修饰符的作用是在原有的组件上添加额外特性
不同修饰符有不同特性
多个修饰符可以一起使用,组件所表现的特性也会根据修饰符数量来会叠加哦!
那么是那三个呢? abstract static final
abstract修饰符
概念;abstract 被他修饰的类,方法,都被称作抽象类,方法则是抽象方法。
那么如何定义呢?
在class关键字前添加abstract修饰符;
例;
abstract class MyClass{}
1,抽象类有什么特点呢?
可以声明引用但不能创建对象喔!,
2,抽象方法如何定义呢?
在方法返回值前添加 abstract 修饰符,注意该方法不能有实现部分“{ }” :
例;abstrcat class MyClass{},
3,抽象方法有什么特点呢?
只有声明没有实现,必须存在于抽象类中
如何使用抽象类呢?
例;
abstract class Demo{
abstract void d();
}
继承
class Sub extends Super{
void d(){
}
}
使用多态的语法创建对象 调用方法
例;
Super sup =new Sub();
sup.d()
//
static
static是静态属性,方法,代码块
给他修饰的都会变成静态
1,如何定义静态属性呢?
class MyClass{
static int a;
}
2,静态属性有什么特点呢?
他是所有对象共享的属性,不需要创建对象
通过类名.属性名直接访问。
3,静态方法定义
在返回值前面添加static的修饰符
static void m(){
}
4,静态方法的特点
4.1可以直接使用类名.方法名直接调用;
4.2静态方法与对象无关不能使用this 或super关键字;
4.3静态方法中只能访问静态属性与静态方法!
5,静态代码块怎么定义
在方法返回值前添加static修饰符即可
例;
class MyClass{
static{
}
}
6,静态代码块有什么特点呢?
静态代码块会在《类加载》时执行,可以在静态代码块中初始化静态属性。
final
被final修饰的都被称为最终!
只能被赋值一次且终生不能被修改!
1,如何定义属性呢?
在数据类型前加入final修饰符
例;
class MyClass{
final int A = 10;
//只能赋值一次 且 没有默认值,需手动赋值
}
2,如何定义方法
在方法返回值前加入final修饰符
final void d(){
//不能给子类所覆盖
}
4,定义类
在定义时 class关键字前 加入final
final class MyClass{
//最终类 不能被继承!
}
ps;
static/final可以连用 通常会与public一起来修饰
用来表示公开静态常量