zoukankan      html  css  js  c++  java
  • java基础概念整理(三)

    1、对象的上转型

        对象的上转型不能调用和使用子类对象新增的成员和变量,不能调用子类新增的方法。   

      上转型对象可以访问子类继承或者隐藏的成员变量,也可以调用子类继承或者子类重写的实例方法。因此如果子类重写了父类的某个实例方法后,当对象的上转型对象调用这个实例方法时一定是调用了子类重新写的实例方法。

    2、抽象方法

     对于abstract方法,只允许声明,不允许实现,不允许使用final和abstract同时修饰一个方法或者一个类,abstract方法只能是实例方法,abstract类中可以有abstract方法。非abstract类中不可以有abstract方法。

    3、面向对象编程,经常会使用到abstract类,abstract类只关心操作,不关系这些操作的具体实现的细节问题,

    package com.Example1;

    public class Exmaple5_12 {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            MobileTelephone telephone = new MobileTelephone();
            SIM sim = new SIMofChinaMobile();
            sim.setNumber("2454545");
            telephone.userSIM(sim);
            telephone.showMessage();
            sim = new SIMofChinaUnicon();
            sim.setNumber("454664646");
            telephone.userSIM(sim);
            telephone.showMessage();

        }

    }

    abstract class SIM {
        public abstract void setNumber(String n);

        public abstract String giveNumber();

        public abstract String giveCorpName();
    }

    class MobileTelephone {
        SIM card;

        public void userSIM(SIM card) {
            this.card = card;
        }

        public void showMessage() {
            System.out.println("use card name is" + card.giveCorpName());
            System.out.println("SIm'number is" + card.giveNumber());
        }
    }

    class SIMofChinaMobile extends SIM {
        String number;

        @Override
        public void setNumber(String n) {
            // TODO Auto-generated method stub
            number = n;

        }

        @Override
        public String giveNumber() {
            // TODO Auto-generated method stub
            return number;
        }

        @Override
        public String giveCorpName() {
            // TODO Auto-generated method stub
            return "联通卡";
        }

    }

    class SIMofChinaUnicon extends SIM {
        String number;

        @Override
        public void setNumber(String n) {
            // TODO Auto-generated method stub
            number = n;

        }

        @Override
        public String giveNumber() {
            // TODO Auto-generated method stub
            return number;
        }

        @Override
        public String giveCorpName() {
            // TODO Auto-generated method stub
            return "中国移动";
        }

    }

    4、继承是一种已有的类创建新的类的机制,利用继承,可以创建一个共有的属性的一般类,根据一般类创建据用特殊属性的新类。

        

  • 相关阅读:
    java中awt和swing是的关系以及区别
    java 5.0和java6.0的区别
    bpel 经典实例入门教程
    java中指针的问题
    linux下软件的基本安装和卸载
    stomp与veil用法
    in perspective用法
    不錯的句子
    fit into用法
    ceremony用法
  • 原文地址:https://www.cnblogs.com/xinxianquan/p/9404316.html
Copyright © 2011-2022 走看看