接口:

/*
* 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. python第一天作业

    作业需求 OK 开始动手了 作业要用到的知识点: python的文件操作 ####################################################3 开始了 1.先写一 ...

  2. 软件工程个人作业4(课堂练习&&课堂作业)

    题目:返回一个整数数组中最大子数组的和. 要求:1.输入一个整型数组,数组里有正书和负数. 2.数组中连续的一个或者多个整数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为0 ...

  3. 用js进行日期的加减

    如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下 ...

  4. python学习笔记1

    python3.3使用urllib2报错 no module named urllib2,原因是python3中将urllib2换成了request. 所以要使用import urllib.reque ...

  5. C++异常机制知识点

     在这里总结一下,C++中的异常机制,以及如何使用异常的知识点 C++中处理异常的过程是这样的:在执行程序发生异常,可以不在本函数中处理,而是抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决 ...

  6. Github for Windows使用图文教程

    原文:http://www.cr173.com/html/15618_1.html Git已经变得非常流行,连Codeplex现在也已经主推Git.Github上更是充斥着各种高质量的开源项目,比如r ...

  7. C# 微信公众号

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. mongodb修改器

    mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...

  9. MySQL - 定时备份

    创建备份目录,在这里以/root/bak/mysql为例: cd mkdir bak cd bak mkdir mysql 在/usr/sbin下touch一个sh: cd /usr/sbin tou ...

  10. 【转载】Oracle实例和Oracle数据库(Oracle体系结构)

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/ ...