zoukankan      html  css  js  c++  java
  • java面向对象(中)

    二、类的封装和继承

    1.属性私有化,使用getter和setter方法获取和设置属性。

    2.继承使用关键字extends,派生类集成了父类除private标记外的所有属性和方法。示例代码如下:

    class Father{

       protected int age;

       protectedString name;

       public Father(String name,int age){

          this.age=age;

          this.name=name;

       }

       public void Print(){

          System.out.println("Father:"+this.name+"--"+this.age);

       }

    }

    class Son extends Father{

       public Son(String name,int age){

          super(name,age);

          super.Print();

       }

    }

    public class ExtendsDemo {

       public static void main(String[] args) {

          new Son("guoxu",15);

       }

    }

    3.在java中子类中使用super属性调用父类方法,如果是构造方法,则直接使用super.()。在php中则使用parent::fun()来调用父类方法。在python中则有点不同,可以说是比较奇特。

    调用父类的构造方法:父类的名称.__init__(self),调用父类的普通方法,super(父类名称,self ) .fun(args)。

    4.      java中不允许多重继承

    5.      父类private声明的属性和方法不会被子类继承。

    6.      子类的实例化一定会调用父类的构造方法,所以如果父类构造方法被申明为private,将无法被子类实例化,这样将无法被子类继承。成为一个单例类。

    7.      方法的覆写和重载的区别。覆写权限不能变小。重载,返回值不一样。

    8.      使用abstract来声明抽象类,抽象类至少应该包括一个抽象方法,也可以包含普通方法。抽象类也可以有构造方法。

    抽象类,可以由子类来进行实例化。
    AbstractClass A=new AbstractSonClass();

    9.      interface可以定义一个接口。接口是一种特殊的类,由抽象方法和全局常量组成,由其继承接口的类实现。可以省略权限类型,直接写返回参数类型和方法名称及参数。implements关键字来实现继承接口。示例代码如下:

    interface USB{

       void start();

       void stop();

    }

    class Computer{

       public static void plug(USB u){

         u.start();

         u.stop();

       }

    }

    class Flash implements USB{

       public void start(){

         System.out.println("u盘启动");

       }

       public void stop(){

         System.out.println("u盘停止");

       }

    }

    public class InterFaceDemo {

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         Computer.plug(new Flash());

       }

    }

    可以继承多个接口

  • 相关阅读:
    Linux 时间同步 03 ntpdate时间同步
    Linux 时间同步 04 ntp时间同步
    Linux 时间同步 02 ntpd、ntpdate的区别
    Linux 时间同步 05 chrony时间同步
    极限编程的12个实践原则
    需要继续理解的
    java的动态代理机制详解
    动态代理详解(一)应用示例
    动态代理详解(二)原理解析
    说说Java代理模式
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429558.html
Copyright © 2011-2022 走看看