吴裕雄--天生自然JAVA面向对象高级编程学习笔记:Object类
class Demo{ // 定义Demo类,实际上就是继承了Object类
};
public class ObjectDemo01{
public static void main(String args[]){
Demo d = new Demo() ; // 实例化Demo对象
System.out.println("不加toString()输出:"+d) ;
System.out.println("加上toString()输出:"+d.toString()) ;
}
};
class Person{
private String name ; // 定义name属性
private int age ; // 定义age属性
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "姓名:" + this.name + ";年龄:" + this.age ;
}
};
public class ObjectDemo02{
public static void main(String args[]){
Person per = new Person("李兴华",30) ; // 实例化Person
System.out.println("对象信息:" + per) ;
}
};
class Person{
private String name ; // 定义name属性
private int age ; // 定义age属性
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public boolean equals(Object obj){
if(this==obj){ // 地址相等
return true ; // 肯定是同一个对象
}
if(!(obj instanceof Person)){ // 不是Person对象
return false ;
}
Person per = (Person) obj ; // 向下转型
if(per.name.equals(this.name)&&per.age == this.age){
return true ; // 依次比较内容
}else{
return false ;
}
}
public String toString(){
return "姓名:" + this.name + ";年龄:" + this.age ;
}
};
public class ObjectDemo03{
public static void main(String args[]){
Person per1 = new Person("李兴华",30) ; // 实例化Person
Person per2 = new Person("李兴华",30) ; // 实例化Person
System.out.println(per1.equals(per2)?"是同一个人!" : "不是同一个人!") ;
System.out.println(per1.equals("hello")?"是同一个人!" : "不是同一个人!") ;
}
};
interface A{
public String getInfo();
}
class B implements A{
public String getInfo(){ // 覆写方法
return "Hello World!!!" ;
}
};
public class ObjectDemo04{
public static void main(String args[]){
A a = new B() ; // 向上转型,为接口实例化
Object obj = a ; // 使用Object接收,向上转型
A x = (A)obj ; // 向下转型
System.out.println(x.getInfo()) ;
}
};
public class ObjectDemo05{
public static void main(String args[]){
int temp[] = {1,3,5,7,9} ; // 定义数组
Object obj = temp ; // 使用Object接收数组
print(obj) ;
}
public static void print(Object o){
if(o instanceof int[]){ // 判断是否是整型数组
int x[] = (int[])o ;
for(int i=0;i<x.length;i++){
System.out.print(x[i] + "\t") ;
}
}
}
};
吴裕雄--天生自然JAVA面向对象高级编程学习笔记:Object类的更多相关文章
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:继承的应用
class Array{ // 表示数组 private int temp[] ; // 整型数组 private int foot ; // 定义添加位置 public Array(int len) ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:匿名内部类
interface A{ public void printInfo() ; // } class B implements A{ // 实现接口 public void printInfo(){ S ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:包装类
public class WrapperDemo01{ public static void main(String args[]){ int x = 30 ; // 基本数据类型 Integer i ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:宠物商店实例分析
interface Pet{ // 定义宠物接口 public String getName() ; public String getColor() ; public int getAge() ; ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:抽象类与接口的应用
abstract class A{ // 定义抽象类A public abstract void print() ; // 定义抽象方法print() }; class B extends A { / ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:instanceof关键字
class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:对象的多态性
class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:接口的基本实现
interface A{ // 定义接口A public static final String AUTHOR = "李兴华" ; // 全局常量 public abstract ...
- 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:final关键字
final class A{ // 使用final定义类,不能有子类 }; class B extends A{ // 错误,不能被继承 }; class A{ public final void p ...
随机推荐
- Hive的安装与基础指令
一.Hive安装 Hive的安装相对比较简单,Hive是基于Hadoop来使用的,所以搭建Hadoop伪分布式或完全分布式即可,Hive安装过程如下: ①安装并启动Hadoop 在博主的其他博客中有安 ...
- 如何用 pycharm 调试 airflow
airflow 和 pycharm 相关基础知识请看其他博客 我们在使用 airflow的 dag时. 每次写完不知道对不对的,总不能到页面环境中跑一下,等到报错再调试吧.这是很让人恼火的事情 这里我 ...
- push 、pop 、unshift 、shift
push .pop : 操作数组后面 unshift .shift :操作数组前面 push.unshift : 字母多的添加 pop .shift : 字母少的删除 push.unshift : 添 ...
- MySQL高级 InnoDB 和 MyISAM 的区别
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间 ...
- linux操作系统及内核
自己的一点总结,把知识重新编码~ 一.操作系统概述 在Richard Stevens的unix环境高级编程中这样定义“它控制计算机硬件资源,提供程序运行环境.一般而言我们称这种软件为内核(kernel ...
- word2vec词向量处理中文语料
word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...
- robot framework 接口post请求需要加headers
说明:当你用RF进行post接口测试时候,那么需要加个headers=Content-Type=application/x-www-form-urlencoded,要不然会请求不成功的.
- flask view
flask view 1. flask view 1.1. @route 写个验证用户登录的装饰器:在调用函数前,先检查session里有没有用户 from functools imp ...
- Servlet读取xml文件的配置参数
web.xml中数据库连接配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns: ...
- 建小程序 - 报Error: EPERM : operation not permitted, scandir mac下改变一个目录的访问权限
问题:用微信开发者工具,建一个小程序,报错(见图1): 建小程序 - 报Error: EPERM : operation not permitted, scandir 解决: 1.打开终端 2.cd ...