zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然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] + "	") ;
                }
            }
        }
    };
  • 相关阅读:
    推荐几款Silverlight Tools【转载】
    Emit Vs CodeDom
    Silverlight 中实现Service同步调用
    一个配置文件的Mapping
    Silverlight:获取ContentTemplate中的命名控件
    关于计划
    巧用异步委托解决异步并发问题
    我是如何学习NodeJs的 – 笔记1
    应用HttpHandler, Json, JQuery, ASP.Net UserControl等技术处理 Ajax 的解决方案
    关于程序员的那些事一个五年程序员的总结
  • 原文地址:https://www.cnblogs.com/tszr/p/12153261.html
Copyright © 2011-2022 走看看