zoukankan      html  css  js  c++  java
  • java学习基础知识三

    一、关键字this
    1、使用this()必须放在构造器的首行!
    2、使用this调用本类中的其他构造器,保证至少有一个构造器不是用this(就是不能出现构造器自己调用自己)

    二、javaBean
    1、javaBean是一种java语言写成的可复用的组件
    2、所谓javaBean,是指符合如下标准的java类:
      →类是公共的;
      →有一个无参的公共的构造器;
      →有属性,且有对应的get、set方法
    3、用户可以使用javabean将功能、处理、值、数据库访问和其他任何可用用java代码创造的对象进行打包,
    并且其他开发者可以通过内部的JSP页面、Servlet、其他javabean、applet程序或者应用来使用这些对象。
    用户可以认为javabean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变

    三、继承
    1、概念:把共性的东西抽取出来形成父类,实际需求的子类在继承父类的基础上写自己特有的代码即可
    2、类继承语法规则:class Sutdent extends Person{}
    3、作用:

      →继承的出现提高了代码的复用性;
      →让类与类之间产生了关系,提供了多态的前提;
      →不要仅为了获取其他类中某个功能而去继承。
    4、在java中,继承的关键字是"extends",即子类不是父类的子集,而是对父类的“扩展”
    (子类中既有父类中定义的属性和方法,还可以定义新的属性和方法)
    5、继承的规则:子类不能直接访问父类中私有的(private)的成员变量和方法(可通过其他操作,如set,get)
    6、java只支持单继承,不允许多重继承(可多层继承):即一个子类只能有一个父类,但一个父类可以有多个子类

    四、方法的重写(override)
    定义:在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
    要求:
    1、重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。
    2、重写方法不能使用比被重写方法更严格的访问权限。
    3、重写和被重写的方法必须同时为static,或同时为非static。
    4、子类方法抛出的异常不能大于父类被重写方法的异常。

    五、注意重载与重写:
    方法的重载:一个类可以有多个同名的方法。
    方法的重写:子类可以重写父类的方法,覆盖父类的方法

    六、关键字super
    1、在Java类中使用super来调用父类中的指定操作:
      →super可用于访问父类中定义的属性
      →super可用于访问父类中定义的成员方法
      →super可用于在子类构造方法中调用父类的构造器
    2、注意:
      →尤其当子父类出现同名成员时,可以用super进行区分
      →super的追溯不仅限于直接父类(多层继承)
      →super和this的用法很像,this代表本类对象的引用,super代表父类的内存空间的标识
    3、this与super的区别:

    七、类对象的实例化过程:

       

     

    八、面向对象特征之三:多态性
    1、多态性,是面向对象中最重要的概念,在java中有两种体现:
      →方法的重载(overload)和重写(override)
      →对象的多态性——可直接应用在抽象类和接口上
    2、java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。
    若编译时类型和运行时类型不一致,就出现多态(Ploymorphism)
    3、子类可以看作时特殊的父类,所以父类类型的引用可以指向子类的对象——向上1转型(upcasting)
    4、多态小结:
      →前提:需要存在继承或者实现关系; 需要有覆盖操作;
      →成员方法:编译时,要查看引用变量所属的类是否有所调用的方法 运行时,调用实际对象所属的类中的重写方法
      →成员变量:不及备多态性,只看引用变量所属的类

    九、instanceof操作符
    x instanceof A:检验x是否为类A的对象,返回值为boolean型,当x所属的类与类A是子类和父类关系,返回值为true,否则返回false

    十、Object类
    1、Object类是所有java类的根父类(多层继承,处于最高层的父类是Object类)
    2、如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类

  • 相关阅读:
    MySQL的语句执行顺序
    linux 常用命令
    scala 样例类转json字符串
    Hadoop之——HDFS的RPC机制
    Hadoop之——机架感知配置
    hadoop-2.6.0-cdh5.14.0 集群高可用搭建
    spark 运行在YARN上参数配置
    日志框架SLF4J和log4j以及logback的联系和区别
    spark的rdd.saveastextfile可以追加写入hdfs同一个文件吗?
    ojdbc14-10.2.0.1.0 jar包下载
  • 原文地址:https://www.cnblogs.com/MeiToufu/p/14319065.html
Copyright © 2011-2022 走看看