接口、抽象类、方法复写、类Equals方法重写
生活随笔
收集整理的這篇文章主要介紹了
接口、抽象类、方法复写、类Equals方法重写
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
接口:
/** Java接口中的數(shù)據(jù)成員必須初始化,該成員有隱藏的final、satic、常量,* 一次賦值后不可在賦值* 成員方法訪問(wèn)修飾符必須是公共修飾符,可以顯示聲明也可以不聲明* 成員方法必須全部是抽象方法*/ interface IPerson { String _className="高中一年級(jí)"; public String GetNameAndAge(); }?
抽象類:
/** 抽象類必須包含抽象方法,並且類必須顯示聲明abstract,抽象成員方法不能實(shí)例化* final如果類關(guān)鍵字聲明為final,那麼此類不可以派生* 如果方法聲明為final,那麼此方法不可以複寫* 如果數(shù)據(jù)成員聲明為final,那麼此成員只能賦值一次*/ abstract class Person implements IPerson { final String _name; int _age; public Person(String name,int age) {_name= name;_age=age; } public abstract String GetNameAndAge(); }?
?
派生類:
/** super類似于C#中的base*/ public class Student extends Person {private String _school;public Student(String name, int age, String school) {super(name, age);_school = school;}public String getSchool() {return _school;}public String GetNameAndAge() {return "Name:" + super._name + ";Age:" + super._age;}/** Java中,對(duì)象比較默認(rèn)的Equals方法是繼承于基類Object,* 所以在子類中必須把基類的Equals重寫,* 才能使當(dāng)前類中的equals起作用*/public boolean equals(Object obj) {boolean _result = false;if (obj != null) {Student _student1 = this;if (obj instanceof Student) {Student _student2 = (Student) obj;if (_student1.getSchool().equals(_student2.getSchool()))_result = true;}}return _result;} }?
?
入口類:
public class ExecStudent { public static void main(String[] args) {Student _student=new Student("zhang san",19,"riben university");System.out.println("ClassName:"+IPerson._className+";School:"+_student.getSchool());System.out.println("Name and age:"+_student.GetNameAndAge());Student _student1=new Student("李三",18,"開(kāi)開(kāi)中學(xué)");Student _student2=new Student("李三",18,"開(kāi)開(kāi)中學(xué)");if(_student1.equals(_student2))System.out.println("二者是同一個(gè)人喲~");elseSystem.out.println("二者不是同一個(gè)人喲~"); } }?
轉(zhuǎn)載于:https://www.cnblogs.com/fang-beny/p/3292105.html
總結(jié)
以上是生活随笔為你收集整理的接口、抽象类、方法复写、类Equals方法重写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JS 回车提交,兼容IE、火狐、Oper
- 下一篇: Spring学习笔记(三) AOP_an