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

 

posted on 2016-05-05 00:05  snail-lb  阅读(392)  评论(0编辑  收藏  举报