接口、抽象类、方法复写、类Equals方法重写
接口:
/*
* 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方法重写的更多相关文章
- OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类
在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 . 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类. 1.只有接口,没有实现类. ...
- Java中Set的contains()方法——hashCode与equals方法的约定及重写原则
转自:http://blog.csdn.net/renfufei/article/details/14163329 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashC ...
- java 接口 继承 接口 抽象类 继承 实体类
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...
- Object类--equals方法
equals方法 1.比较的是对象引用的是否指向同一块内存地址 public static void main(String[] args) { HuaWei huawei=new HuaWei(); ...
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
- javaObject类-equals方法及覆盖
1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...
- Effective Java 第三版——10. 重写equals方法时遵守通用约定
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- Java—API/Obiect类的equals toString方法/String类/StringBuffer类/正则表达式
API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来 ...
- 重写equals方法需要知道的事
重写equals方法 相信在每个人都有过重写过java的equals的方法的经历.这篇博文就从以下几个方面说明重写equals方法的原由,与君共进步. 一 为什么要重写equals方法 首先我们了解e ...
随机推荐
- WPF工作笔记:本地化支持、主进程通知、两种最常用异步编程方式
1.本地化支持 (1)重写控件默认的依赖属性LanguageProperty FrameworkElement.LanguageProperty.OverrideMetadata( typeof(Fr ...
- .net 内存分配及垃圾回收总结
生存期垃圾回收器 目前有很多种类型的垃圾回收器.微软实现了一种生存期垃圾回收器(Generation Garbage Collector). 生存期垃圾回收器将内存分为很多托管堆,每一个托管堆 ...
- L2-015. 互评成绩
学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩.系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩.本题就要求你编写这个互评系统的算分模块. ...
- hdu 4613 Points<计算几何>
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4613 题意: 判断一个集合中的点能不能由另一个集合中的点,通过平移,旋转,放缩得到~ 思路:先求出集合中的 ...
- linux命令行下的ftp 多文件下载和目录下载(转)
目标ftp服务器是一个非标准端口的ftp 1.通过shell登录 #ftp //shell下输入ftp命令,进入到ftp提示符 >open IP PORT //IP ,PORT对 ...
- RAP开发入门-搭建RAP开发环境(一)
ps:补充 RAP (Remote Application Platform) 官网地址eclipse.org/rap 1.下载IDE http://www.eclipse.org/downloads ...
- flask-cors 实现跨域请求
安装:pip install -U flask-cors from flask import Flask from flask.ext.cors import CORS app = Flask(__n ...
- 正益工作是何许APP?凭什么作为第一届大会的“闪亮”点
参加过很多发布会,看过很多宣传稿,渐渐的你也读懂了“大会亮点”,这是技术人.市场人绞尽脑汁.加班加点的成果,更渗透着企业未来的战略思路.在2016AppCan移动开发者大会的官方新闻发布后,很多人留言 ...
- centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8
以虚拟机VirtualBox 版本是4.1.20(内存设置为512M,centos安装是文本模式下安装),全新以最小化包安装了32位的 CentOS6.3系统,作为本地web环境,上次讲了在windo ...
- ListView usage in ERP-DEV
ListView Learning Note how to add double click event to listviewitem in ListView. refer link in stac ...