抽象的なキーワードと学習の実現

1、抽象的な説明

変更された抽象クラス抽象クラスのタイトル

変更されたタイトルの抽象メソッド抽象メソッド

このクラスは抽象メソッドは、このクラスの必須抽象クラスが含まれています

抽象クラスはオブジェクトを作成できません。

クラスは抽象クラスを継承していますので、あなたは、このクラスの抽象メソッドを実装していない場合は、この時間は、彼は抽象メソッド、抽象クラスは、このクラスは抽象クラスでなければならない必要があります

そこ抽象クラスのコンストラクタかもしれないが、方法が持つオブジェクトをインスタンス化するように設定されていません

抽象クラスのコンストラクタは、初期化しないように、サブクラスの呼び出しに供給され、

この方法は、最終的な抽象クラスを変更することができます

抽象的で、最終的な修正を持つことができ、変更され、最終的な方法は、サブクラスで呼び出すことができますが、サブクラスでオーバーライドすることはできません

抽象クラスのメソッドのメンバーがあるかもしれません

静的メソッドは、抽象クラスすることができます

最終的なクラスはプロパティを変更することができ、この方法は、修正されてもよい、修飾されてもよい。抽象クラスは、メソッドを変更するが、プロパティを変更しないが、修正することができます

抽象メソッド:クラスは親クラスの抽象メソッドは、サブクラスが抽象メソッドを実装していない場合は、この抽象メソッドを実装する必要がありますその後、サブクラス、クラスは抽象クラスでなければなりませんがあれば、抽象メソッドは、抽象クラスである必要があります含まれてい

jdk1.8前に、抽象メソッドは、メソッド本体を記述していません。

2、親クラス

package com.wyq.study;

public abstract class Employer {
	private String name;
	int age;
	public static final int workNo = 10;
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
//	public void setAge(int age){
//		this.age = age;
//	}
//	public int getAge(){
//		return age;
//	}
	public Employer(){
		super();
		System.out.println("无参构造"+this.name+"\t"+this.age+"\t"+workNo);
	}
	public Employer(String name,int age){
		super();
		this.name = name;
		this.age = age;
		System.out.println("employer的带参构造"+this.name+"\t"+age+"\t"+workNo);
	}
	public void work(String work){
		System.out.println("在父类中测试员工的工作"+work);
	}
	public  abstract void waitt(String work);
	public final void final1(String sfsd){
		System.out.println("这里是测试final"+sfsd);
	}
}

3、サブカテゴリ

package com.wyq.study;

public class Employee extends Employer{
	
	private String department;
	public void setDepartment(String department){
		this.department = department;
	}
	public String getDepartment(){
		return department;
	}
	public Employee(){
		super();
		System.out.println("这里是子类的无参构造");
	}
	public Employee(String name,int age,String department){
		super(name,age);
		this.department = department;
		System.out.println("这里是无参构造"+super.workNo+"\t"+super.getName()+"\t"+super.getClass()+"\t"+this.age+"\t"+super.workNo);
	}
	public void show(){
		System.out.println(super.getName()+"\t"+super.age+super.workNo);
	}	
	@Override
	public void work(String work) {		
		super.work(work);
		System.out.println("在子类中测试员工的工作是:"+work);
	}
	@Override
	public void waitt(String work) {
		System.out.println("这里是实现的关系"+work);
		
	}
}

4、試験クラス

package com.wyq.study;

public class TestEmp {
	public static void main(String[] args) throws InterruptedException {
//		Employee e = new Employee("李四",12,"财务部");
//		e.show();
//		System.out.println(e+"\t"+e.age+"\t"+e.getName()+"\t"+e.getDepartment()+"\t"+e.workNo);
		Employee e1 = new Employee("李四",12,"财务部");
//		e.waitt("jsldfj");
		e1.waitt("阿里巴巴集团");
		e1.work("程序员");
		e1.final1("这里是测试finall");
	}
}

5、出力

这里是无参构造10	李四	class com.wyq.study.Employee	12	10
这里是实现的关系阿里巴巴集团
在父类中测试员工的工作程序员
在子类中测试员工的工作是:程序员
这里是测试final这里是测试finall

 

おすすめ

転載: blog.csdn.net/wyqwilliam/article/details/91800748