zoukankan      html  css  js  c++  java
  • java编程思想-复用类

    /*
    一个文件中只能有一个public类
    并且此public类必须与文件名相同
    */
    class WaterSource
    {
        private String s;
        WaterSource()
        {
            System.out.println("WaterSource()");
            s = "constructed";
        }
        //每一个非基本类型的对象都有一个toString()方法,当编译器需要一个String而却只有一个对象时,该方法便会被调用
        public String toString()
        {
            return s;
        }
    }
    
    public class first
    {
        private WaterSource source = new WaterSource();
        public String toString()
        {
            return "source = " + source;
        }
        public static void main(String[] args)
        {
            first fir = new first();
            System.out.println(fir);
        }
    }
    /*
    WaterSource()
    source = constructed
    */
    //继承语法,java用super关键字表示超类,当前类从超类继承来
    //一个程序中含有多个类,只有命令行所调用的那个类的main()方法会被调用
    class Cleanser
    {
        private String s = "Cleanser";
        public void append(String a)
        {
            s += a;
        }
        public void apply()
        {
            append(" apply()");
        }
        public String toString()
        {
            return s;
        }
        public static void main(String[] args)
        {
            Cleanser x = new Cleanser();
            System.out.println(x);
        }
    }
    
    public class first extends Cleanser
    {
        public void apply()
        {
            append(" first.apply()");
            super.apply();
        }
        public static void main(String[] args)
        {
            first x = new first();
            x.apply();
            System.out.println(x);
        }
    }
    //java会自动在派生类的构造器中插入对基类构造器的调用
    class Art
    {
        Art()
        {
            System.out.println("Art constructed");
        }
    }
    
    public class first extends Art
    {
        public first()
        {
            System.out.println("first constructed");
        }
        public static void main(String[] args)
        {
            first x = new first();
        }
    }
    /*
    Art constructed
    first constructed
    */
    //如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用super显式调用基类构造器,且必须是在构造器的起始处就要这么做,否则编译器会
    //报错,因为没有默认的基类构造器
    class Game
    {
        Game(int i)
        {
            System.out.println("Game" + i);
        }
    }
    public class first extends Game
    {
        first()
        {
            super(11);
            System.out.println("first");
        }
        public static void main(String[] args)
        {
            first x = new first();
        }
    }
    /*
    Game11
    first
    */
  • 相关阅读:
    C# 日期帮助类【原创】
    C# 发送邮件
    每日一题力扣453
    每日力扣628
    每日一题力扣41巨坑
    每日一题力扣274
    每日一题力扣442有坑
    每日一题力扣495
    每日一题力扣645
    每日一题力扣697
  • 原文地址:https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/4877829.html
Copyright © 2011-2022 走看看