zoukankan      html  css  js  c++  java
  • Java基础视频笔记(二)

    这部分是Java基础视频笔记的第二部分~

    内容包括:封装、继承、多态、递归调用、引用传递、抽象类、接口等OOP的重要概念:

    这部分的内容需要重点理解并牢记;

     

    16、封装:对外部不可见
            继承:扩展类的功能
            多态:方法的重载、对象的多态性

    17、方法的递归调用:
         方法调用自己本身,常用于遍历文件夹、手机SD卡;
      递增递减,回归本身

    18、封装性、构造方法、匿名对象:
       封装的目的:保护某些属性和方法不被外部看见;
       封装的实现:通过关键字private声明,进行属性和方法的封装
         创建该属性的set和get方法,作为外部访问的接口,set设置,get得到

    匿名对象不用声明名字,直接实例化,程序中只使用一次的对象才可以使用匿名法;
    new Person().tell();

    构造方法:没有返回值类型,随着类的实例化自动执行,名称必须与类名一致;

    构造方法就是构造器;

    访问修饰符 类名称{
        程序语句
    }

    构造方法是为类中的属性初始化;
    每个类都会在实例化后调用构造方法,如果没有,就会在编译的时候创建一个无参的构造方法;
    构造方法也可以重载

    19、引用传递、this、static关键字
       引用传递:通过在方法中实例化类,重新给类的变量赋值

    this:

      1、通过this表示本类中的属性;
           2、调用当前类中的方法;
           3、this();放在构造方法第一行,直接调用重载的无参构造方法的语句;
           4、比对当前对象是否是同一个对象


    static:
         1、static声明全局属性
         2、static方法,最好通过类名调用
         3、static方法只能访问static方法和属性,非static方法不能直接访问,

    需要实例化类对象才可以通过 . 号调用;
    只能访问静态方法和属性



    20、继承:class c extends f
      类名都要大写
      extends 之后,子类可以从父类继承所有属性,并可以扩增自己的属性;

    继承的限制:
    1、Java中只允许单继承
    2、子类可以继承父类的属性,但是不能在类中直接访问父类的私有属性;
      需要通过get和set方法,例如,在public void tell()等方法中用getAge()获取

    21、子类的实例化过程:先调用父类的构造方法,再调用子类的构造方法;
      先有父,再有子;
      长者先,幼者后;
      子类也叫父类的派生类;


    22、super关键字:
      父类、子类的方法的重写;
      super.tell(); //当父类和子类出现重写的方法,需要使用super关键字调用父类的方法
            //super关键字 可以强行调用父类方法的执行;
            //构造方法在编译的时候,会默认调用super()方法来实现同样的效果;

    访问权限:
    private < default < public
    1、private 在当前类中访问
    2、default 在同一个包内访问
    3、public  整个工程下都可以访问

    子类的构造方法不能比父类有更严格的访问权限;


    23、重载与重写区别:

    多态:重载、重写体现了方法的多态性

    Overloading: Overriding:

    重载:方法命名相同,参数类型、参数个数不同;   同一个方法,实现不同功能    
    重写:方法命名相同、参数类型、返回值也全部相同;    用于子类继承父类的时,扩展父类方法功能  也叫覆盖

    定义:
    重载:对权限没有要求;
    重写:被重写的方法,不能有比父类更加严格的权限;

    范围:
    重载:发生在一个类中
    重写:发生在继承中


    24、OOP三大特性:继承(父类派生、子类扩展、重写)、多态(重载,方法同名不同参)、封装(private)

    25、抽象类和接口:OOP最重要的部分之一
       final关键字:完结器
       final声明的类不能被继承
       final声明的方法不能被重写
       final声明的变量变成常量、常量是不可以被修改的
       final修饰的属性要用大写

    26、抽象类:包含一个抽象方法的类
          ·抽象方法:声明而未被实现的方法,抽象方法必须使用abstract关键字声明
          ·抽象类不能直接被实例化,要通过其子类进行实例化
          ·抽象类的子类,必须重写抽象类中的抽象方法

    public abstract void say();
      作用:对同一类事物的共有特征的一个抽象概括,子类可以对抽象类的功能进行扩展,设置自己的专有属性
      比如水果是抽象类,苹果、香蕉、橘子是抽象类的具体子类,抽象类不能实例化,具体子类可以

    27、接口是Java中最重要的概念:

      * 接口是一种特殊的类,全部由全局常量和公共的抽象方法所组成;  接口是招牌,告诉我们它对接的功能

    格式:
    interface InterfaceName{
        全局常量;
        抽象方法;
    }

    * 接口必须通过子类才能实例化,使用关键字implements实现,也必须重写接口中的抽象方法;

    class A implements Inter1{//子类实现Inter接口

    }

    * 接口是可以多实现的
    class A implements Inter1,Inter2{

    }

    * 一个类可以同时继承抽象类和接口
    class A enxtends Abs implements Inter1,Inter2{

    }

    * 接口不能继承抽象类,但可以通过extends 同时继承多个接口,实现接口的多继承。

  • 相关阅读:
    mysql常用命令
    mysql设置外网访问权限
    免费云服务部署项目
    使用虚拟主机部署Php项目总结
    github基本使用命令笔记
    git push -u origin master报错,error: failed to push some refs to 'https://github.com/Youlandawq/Qt.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote c
    centos7安装docker
    java设计模式之单例模式
    java se高级之多线程(一)
    jdbc编程
  • 原文地址:https://www.cnblogs.com/jackchiang/p/4585095.html
Copyright © 2011-2022 走看看