接口、抽象类、方法复写、类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("二者是同一個人喲~");elseSystem.out.println("二者不是同一個人喲~"); } }
转载于:https://www.cnblogs.com/fang-beny/p/3292105.html
接口、抽象类、方法复写、类Equals方法重写相关推荐
- EJB3.0学习笔记---多接口的时,实现类处理方法:
EJB学习笔记--- 1.胖客户端:指的是定义的接口太多了,接口做的工作太多; 胖接口: 2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一 ...
- python字符串equals方法_编写equals方法
我们知道List是一种有序链表:List内部按照放入元素的先后顺序存放,并且每个元素都可以通过索引确定自己的位置. List还提供了boolean contains(Object o)方法来判断Lis ...
- JAVA-初步认识-第十一章-object类-equals方法覆盖
一. 现在要谈论equals方法另一个方面.如果不写equals方法,直接用==来比较也是可以的,貌似equals方法有点多余. 现在不比较对象是否相等,而是比较对象中的特定内容,比如说对象的年龄,之 ...
- python methodtype_Python的实例定属性和方法或类绑定方法
一.给实例对象绑定属性和方法: 1.给实例绑定属性:先定义一个Student类 #!/usr/bin/python class Student(object): pass 然后绑定属性: s = St ...
- python类中方法调用自己类的方法_python 类中方法总结 --- 实例方法、类方法、静态方法...
在python的类语法中,可以出现三种方法,具体如下: (1)实例方法 1)第一个参数必须是实例本身,一般使用[self]表示. 2)在实例方法中,可以通过[self]来操作实例属性,[类名]来操作类 ...
- jQuery 样式操作||操作 css 方法/设置类样式方法
操作 css 方法 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...
- php 类调用本身方法,PHP 类中方法的声明与调用
方法(method)与函数非常类似,只不过方法是用来定义类的行为的. 与函数一样,方法可以接受输入参数,可以向调用者返回一个值. 方法的调用也与函数相同,只是在方法签名要加上调用方法的对象的名称,如下 ...
- 重写Java Object类中的equals()方法
Java中的Object类中的equals方法 Object类的equals方法 重写Object类的equals()方法 Person类默认继承了Object类,所以可以使用Object类的equa ...
- java的equals方法_Java LocalDateTime类| 带示例的equals()方法
java的equals方法 LocalDateTime类equals()方法 (LocalDateTime Class equals() method) equals() method is avai ...
最新文章
- 科普 | 你必须了解的漏洞利用缓解及对抗技术
- 【NLP】BERT大魔王为何在商业环境下碰壁?
- Apache Kafka 1.0.0正式发布!
- php数组foreach循环添加键值对_在PHP的foreach循环中插入一个$key作为变量
- 【CF1204D】Kirk and a Binary String【结论题】【LIS】
- post和get传值
- python 内置模块-re
- (38)System Verilog线程并行执行(fork-join_none)
- popstate_详解HTML5之pushstate、popstate操作history,无刷新改变当前url
- 从仁慈的独裁者到微软打工人,Python之父和Python将走向何方?
- mac安装ElasticSearch
- 68.x的平方根(力扣leetcode) 博主可答疑该问题
- steam授权_验号机器人正式上线,支持检验csgo账号、steam账号信息
- 最新的ESD(ElectroStatic Discharge)静电介绍及其标准下载(见文尾)
- 【异常解决】DolphinScheduler-2.0.5 工作流实例无法调度和停止异常
- CM源码(CyanogenMod)源码编译
- Android Killer中apktool插件更新
- DIY 章鱼猫活动 |
- https的数字签名流程
- 英语四级作文备战全攻略