类与对象

来源:互联网 发布:淘宝客招募贴范文 编辑:程序博客网 时间:2024/06/10 06:36

     关于构造方法,每个类都默认提供一个无参数的构造方法,如果在类中声明了有参数的构造方法,那么无参数的构造方法就会失效,如果要使用它,需显示声明(不要忽略)。方法的重载和方法的重写的区别,方法的重载(overload),方法名相同,参数不一样,即参数的类型和个数,其中切记方法的重载,返回值类型必须相同。方法的重载可以不是发生在同一个类中。它的作用是提供选择性。而方法的重写必须发生在不同的类中,方法的重写又叫方法的覆盖,例如子类型的方法覆盖了父类型的方法。方法的重写(override)就是方法的定义完全一样,方法体(具体实现,{body})不同。方法的重载可以联想到继承,继承就是子类型继承父类,可以继承父类的公有(不是所有)方法和属性,它的好处是提高代码的复用率。子类继承父类时,例如UNStudent继承student时,我们可以写Student  stu=new  UNStudent;这里就用到了自动转型 。所谓的自动转型就是子类对象可以自动转换成父类类型,此时只能调用父类有的方法,如果此方法被子类重写了,则优先调用子类重写了的方法。

     java的三大特性是继承,封装和多态,所谓的多态就是同一类型的对象,调用相同的方法,出现的结果不一定相同。例如,Student stu=new  UNStudent();Student  mstu=new  MiddleStudent();stu.study();mstu.study();而 大学生和中学生的学习方法不一样,故意产生了多态,这其中也牵涉到自动转型。java中指允许单继承,所谓的单根继承就是一个类只能有一个直接父类。此时,java又提供了接口来实现多继承。接口是一个非常抽象的概念,比抽象类还要抽象,与这有关牵涉到两个关键字interface(接口)和implements(实现);接口是一组规范,它规定了实现它的类要做些什么,但是同时它也是一种开放思想,它不管每个类是怎么样实现的。例如:public interface  Shape{

public  void  draw();}   接口中所有方法都是抽象方法。而抽象方法是没有方法体的方法,例如public  void draw();而类去实现接口,必须实现类中的所有抽象方法,例如public  class  line  implements  shape{     //实现抽象方法        public  void   draw(){   //具体实现     }    };line 是Shape的实现类,是一种继承关系。一个类可以同时实现多个接口,public  class Line  implements   Shape,A{   } .接口是不能直接通过构造方法来创建对象,例如:接口是不能直接通过构造方法来创建对象Shape shape = new Shape();  错误
Line line = new Line();   正确。但是接口可以通过用自动 转型来创建对象的。

    

原创粉丝点击