zoukankan      html  css  js  c++  java
  • 接口、抽象类、方法复写、类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("二者不是同一個人喲~");
    }
    }
  • 相关阅读:
    C1FlexGrid双grid滚动条联动
    linux实用命令
    大数据学习1(linux环境搭建)
    一个数据开发工程师要知道的名词
    oracle快速向表插入大量数据
    读书笔记--(索引的扫描方式)
    SQL优化策略(数据仓库)
    oracle大表删除数据方案
    加密与解密
    Spring笔记之IOC
  • 原文地址:https://www.cnblogs.com/fang-beny/p/3292105.html
Copyright © 2011-2022 走看看