接口:

/*
* Java接口中的數據成員必須初始化,該成員有隱藏的final、satic、常量,
* 一次賦值后不可在賦值
* 成員方法訪問修飾符必須是公共修飾符,可以顯示聲明也可以不聲明
* 成員方法必須全部是抽象方法*/
interface IPerson {
String _className="高中一年級";
public String GetNameAndAge();
}

抽象类:

/*
* 抽象類必須包含抽象方法,並且類必須顯示聲明abstract,抽象成員方法不能實例化
* final如果類關鍵字聲明為final,那麼此類不可以派生
* 如果方法聲明為final,那麼此方法不可以複寫
* 如果數據成員聲明為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中,对象比较默认的Equals方法是继承于基类Object,
* 所以在子类中必须把基类的Equals重写,
* 才能使当前类中的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,"开开中学");
Student _student2=new Student("李三",18,"开开中学");
if(_student1.equals(_student2))
System.out.println("二者是同一個人喲~");
else
System.out.println("二者不是同一個人喲~");
}
}

接口、抽象类、方法复写、类Equals方法重写的更多相关文章

  1. OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类

    在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 . 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类. 1.只有接口,没有实现类. ...

  2. Java中Set的contains()方法——hashCode与equals方法的约定及重写原则

    转自:http://blog.csdn.net/renfufei/article/details/14163329 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashC ...

  3. java 接口 继承 接口 抽象类 继承 实体类

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...

  4. Object类--equals方法

    equals方法 1.比较的是对象引用的是否指向同一块内存地址 public static void main(String[] args) { HuaWei huawei=new HuaWei(); ...

  5. python干货-类属性和方法,类的方法重写

    类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...

  6. javaObject类-equals方法及覆盖

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  7. Effective Java 第三版——10. 重写equals方法时遵守通用约定

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  8. Java—API/Obiect类的equals toString方法/String类/StringBuffer类/正则表达式

    API  Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来 ...

  9. 重写equals方法需要知道的事

    重写equals方法 相信在每个人都有过重写过java的equals的方法的经历.这篇博文就从以下几个方面说明重写equals方法的原由,与君共进步. 一 为什么要重写equals方法 首先我们了解e ...

随机推荐

  1. JavaScrip拖动动画中的常见BUG

    经常我们在用JS辛苦写完一个拖动效果之后 ,发现有各种无法用JS解决的BUG.比如拖动时DOM元素中的内容会变蓝,鼠标的指示会变为一个小+号,或disable的样式,通常这种情况一发生,我们的拖动效果 ...

  2. 在.net程序中使用System.Net.Mail来发送邮件

    System.Net.Mail是微软自家提供的工具,在.net程序中可以使用该空间中的SmtpClient实例来实现邮件的发送. 使用System.Net.Mail空间与Web.config配置相配合 ...

  3. 先登陆面试再者Tabs标签导航,多次网络请求共享cookie,本地存储cookie

    1,index.ng.html: <head> <title>ionic todo example</title> </head> <body n ...

  4. Eclipse基金会

    昨天Eclipse基金会庆祝其成立十周年.2004年2月的新闻稿宣布该非盈利组织的正式成立,由包括开发者.消费者和插件提供商在内的各独立团体组成的董事会,为Eclipse的长期发展负责. 基金会成立时 ...

  5. Qt隐藏标题栏

    setWindowFlags (Qt::CustomizeWindowHint)setWindowFlags (Qt::FramelessWindowHint)两个函数都可以去掉标题栏,区别是第一个可 ...

  6. [Android Training视频系列] 8.2 Managing Audio Focus

    视频讲解:http://www.eyeandroid.com/thread-15896-1-1.html 由于很多应用程序都可以播放音频,因此在播放前考虑它们如何交互就显得很重要了,为了避免同时出现多 ...

  7. android开发 根据Uri获取真实路径

    Uri uri = data.getData(); String[] proj = { MediaStore.Images.Media.DATA }; Cursor actualimagecursor ...

  8. Python 获取学校图书馆OAPC账号对应的身份证号码

    import urllib.request import urllib.parse import http.cookiejar import re lib_login = 'http://xxx.ed ...

  9. 关于VS2010中一打字,换行,拖控件便出现卡死的问题的解决方案

    大家好,这是我第一篇博文. 最近一个月都是静静的观看,想发帖子很久了. 最近实习完刚换了份工作,入职之后啊先是装了一堆软件.然后,便出现问题,就是VS2010上码字和切换页面的时候会卡.开始的时候每次 ...

  10. C#预编译指令

    近日工作涉及到于外部系统交互,对方提供接口:但是在双方系统未联调时,引用外部DLL,相关类实例化,提示异常错误(错误消息正常):后面操作无法进行,那如何写调试代码,即在调试时不运行某段代码,而在正式发 ...