方法的修饰符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() ;
	}
}
发布了55 篇原创文章 · 获赞 109 · 访问量 5258

猜你喜欢

转载自blog.csdn.net/qq_37717494/article/details/104921593