zoukankan      html  css  js  c++  java
  • java复用类

      java复用类英文名叫reusing classes  ,重新使用的类,复用的意思就是重复使用的类,其实现方法就是我们平常使用的组合和继承;

      1、组合: has-a 的关系  (自我理解:组合就是我们平时新建一个类的对象,然后使用这个类的各种属性,这就是组合,组合只能够使用其方法,不能够改变方法)

      2、继承: is-a 的关系  (自我理解:继承就是一个类去继承另一个类,然后能够使用这个类中的方法和属性,而且能够重写父类中的方法,是接口)

      
      重写:(@Override)  重写是子类方法重新覆盖父类的方法,如果没有重写或者重载,那么子类调用一个子类没有的方法时,其实是调用父类。

          其中@Override注解可以防止在不想重载时而被意外重载。

          重写注意与重载的区别,重载是同一个类中,方法名相同,而方法参数不同,以此区分要调用的方法。

      toString()方法说明:调用一个对象可以给你返回一个字符串,比如System.out.println(object);(object是一个具体的对象)这一句就会调用toString()方法,然后返回

      一个字符串。

      final关键字:加上final关键字的基本类型,表示这个变量初始化后不会改变。类似c的define,你希望一个变量在这个程序里就是这个值不需要改变。就可以用final。

            static本来是静态初始化,和final一起用就是占据了一块不能改变的存储空间。

            final修饰方法时,可以继承,但是不能够修改,就是不能够重写;

            final修饰类是,这个类不能够被继承;

      main()方法说明:我们可以对每一个类都设置一个main()方法,即使一个类嵌套在另一个类中是也是可以的,这样可以使得每个类的单元测试变得更加简便易行。

      

     1 /**
     2  * main()方法说明
     3  * 2016/5/4
     4  **/ 
     5 package cn.Java_7;
     6 
     7 public class Text extends Text_1{
     8 
     9     public static void main(String[] args) {
    10         System.out.println("Text");
    11         Text_1 text_1 = new Text_1();
    12         text_1.main(args);
    13     }
    14 }
    15 
    16 class Text_1{
    17     Text_1(){}
    18     public static void main(String[] args){
    19         System.out.println("Text_1");
    20     }
    21 }
    View Code

        组合继承重写实例:

        

     1 /**
     2  * 复用类  组合和继承
     3  * 2016/5/4
     4  */
     5 package cn.Java_7;
     6 
     7 class Father{
     8     int age;
     9     Father(){
    10         this.age = 50;
    11         System.out.println("Father class:Father.age"+this.age);
    12     }
    13 
    14     public void get(){
    15         System.out.println("Father.get");
    16     }
    17 
    18     public String toString(){
    19         return "Father.toString";
    20     }
    21 }
    22 
    23 //继承
    24 class Son extends Father{
    25     int age;
    26     Son(){
    27         this.age = 20;
    28         System.out.println("Son class:Son.age"+this.age);
    29     }
    30 
    31     @Override
    32     public void get(){
    33         System.out.println("Son.get");
    34     }
    35 
    36     public String toString(){
    37         return "Son.toString";
    38     }
    39 }
    40 
    41 //继承
    42 class GrandSon extends Son{
    43     int age;
    44     GrandSon(int age){
    45         this.age = age;
    46         System.out.println("GrandSon class:GrandSon's age is "+this.age);
    47     }
    48 }
    49 public class Father_Son {
    50     public static void main(String[] args){
    51     //组合语法
    52     Father father = new Father();
    53     System.out.println(father);
    54     father.toString();
    55 
    56     Son son = new Son();
    57     System.out.println(son);
    58     son.toString();
    59 
    60     GrandSon grandson = new GrandSon(4);
    61     System.out.println(grandson);
    62     }
    63 }
    View Code
  • 相关阅读:
    极客标签编程小挑战#31:生成注册页面的显示效果
    极客Web前端开发资源大荟萃#017
    知道你们不想撸代码写PPT之可视化页面做一款炫酷的WEB PPT
    使用jQuery图表插件Sparklines来开发一个实用的网站PV(page view)实时监控应用
    javascript专业八级测试答案整理
    使用Raphaël类库实现的超酷动画技能图表
    极客编程小挑战#26:实现日期级联下拉选择框
    gulp初印象
    程序语言,编译?解释?
    发了这嘛多技术文章,今天给大家点福利吧!邻家小美女一枚,想在北京找个工作,大家来看看给出点主意。
  • 原文地址:https://www.cnblogs.com/snail-lb/p/5460310.html
Copyright © 2011-2022 走看看