方法的修饰符
- 一、static静态成员
- 二、final最终的
- 三、abstract 抽象的
一、static静态成员
静态成员 [成员属性和成员方法]
(1)静态的成员独立于类的实例(对象) — 银行的利率
静态的成员在访问时,直接使用 类.方法()
或 类.属性
Math. random() , Arrays .sort() ;
(2)静态的成员随着类的加载而加载. — 静态存储区 常驻内存
(3)在静态方法中可以直接调用其他静态方法.
(4)理解到 main 主方法必须为静态.
(5)不能使用 super 或 this 关键字
package com. whos. demo07;
class A {
static int num = 100;public void i ncrement () {
num++ ;}
}
public class Test {
public static void main (String[] args) {
A al = new A();al.increment () ;System.out.println (al.num) ;A a2 = new A();a2.increment () ;System.out.println (a2.num ;}
}
二、final最终的
finally最终地adv —> 异常处理
- 类 一 final 最终类 不可被继承
- 属性 | 局部变量 — 常量, 不可更改[全大写]
- 方法 — 不可被重写 override
三、abstract 抽象的
由abstract修饰的方法叫抽象方法; .
由abstract修饰的类叫抽象类
没有抽象属性!!
抽象类和抽象方法
●抽象类不能被直接实例化 instantiate
●抽象类是继承的基础
●抽象类中可以没有抽象方法,但是抽象方法必须定义抽象类中.
●继承抽象 类的子类必须实现父类的所有抽象方法
●抽象类继承抽象类,可以不用于实现父类的抽象方法
●构造器不能是抽象的
●在实际应用开发中,抽象用于描述公共模板类,强调的是部份实现,部份未实现.
package com.demo;
/** *抽象类用于提供其他子为的公共模板,强调的是部分实现. */
abstract class Father {
String name;int age;public void sleep() {
System. out.println ("睡觉中. ...") ;}public abstract void dream() ;
}
abstract class Son extends Father {
public abstract void method() ;
}
class GrandSon extends Son {
public void method() {
System.out.println ("实现son类的method() ...") ;
}
public void dream() {
System.out.println ("实现Father类的dream() .. .") ;}
}
public class Test {
public static void main (String[] args) {
Father f = new GrandSon(); //instantiate实例化f.sleep() ;f.dream() ;Son s = new GrandSon() ;S.method() ;}
}