zoukankan      html  css  js  c++  java
  • 面向对象知识点整理(3)

    关键字

    1.this

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

    作用

    a.实现构造方法之间的调用

    this(参数列表)

    b.解决成员变量与局部变量的同名问题

    this.成员变量

    2.super

    super可以理解为是指向自己超父类对象的一个指针,而这个父类指的是离自己最近的一个父类。

    作用

    a.调用父类的构造方法

    super(参数列表)

    b.直接引用父类的成员

    super.xxx

    注意事项

    1.子类构造方法中有一句隐式的super();

    2.当父类中没有空参数构造方法时,子类的构造方法必须有显示的super语句,指定要访问的父类有参数构造方法。(最好在类中写一个空参构造防止报错);

    3.在构造方法中super 和 this 不能  同时显式  调用;因为两个关键字都要放在第一行

    若果构造方法中第一行用this()调用了其他构造方法,此时super()的隐式调用不存在了;

    4.this()和super()都指的是对象,所以,均不可以在static环境中使用。

    3.static

    概念

    static它是静态修饰符,一般用来修饰类中的成员。

    特点

    1. 被static修饰的成员变量属于类,不属于这个类的某个对象。(在静态区内,先于对象加载)

    也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量

    2.static修饰的成员可以并且建议通过类名直接访问。

    注意事项

    1.静态只能访问静态(秦始皇不知道MZD)

    2.静态中不能使用this和super (在静态区内,先于对象加载

    3.被静态修饰的方法可以被子类继承,但是无法被重写,如果强行重写相当于子类独有的方法

    4.final

    概念

    final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。不能修饰构造方法。

    特点

    1.final修饰类不可以被继承,但是可以继承其他类。

     

    2.final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。

    3. final修饰的变量称为常量,这些变量只能赋值一次。而且终身不变。

     

    4.引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改。

    5.修饰成员变量,需要在创建对象前赋值,否则报错。(当没有显式赋值时,多个构造方法的均需要为其赋值。)

     

     

  • 相关阅读:
    Scala(二)——基础语法(与Java的区分)和函数式编程
    LeetCode3.无重复字符的最大子串
    LeetCode2.两数相加
    LeetCode1.两数之和
    Scala(一)——基本类型
    图论算法总结(一)——图的遍历
    Hutool强大的工具类
    Jdk8新特性之接口新增方法
    mybatis的xml配置中if text判断
    Jdk8新特性目录
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10900953.html
Copyright © 2011-2022 走看看