多态:可以理解为事物存在的多种体现形态

1.多态的基本体现

父类的引用指向了自己的子类对象

父类的引用也可以接收自己的子类对象

2.多态的前提

必须是类与类之间有关系,要么继承,要么实现

通常还有一个前提:存在覆盖

3.多态的好处

多态的出现大大的提高了程序的扩展性

4.多态的弊端

提高了扩展性,但是只能使用父类的引用访问父类中的成员。

instanceof指向对象,如 a instanceof b 如果a指向b

5.多态出现代码中的特点(多态使用注意事项)

在多态中成员函数的特点:(父类有子类对象的时候)

在编译时期:参阅引用型变量所属是否有调用方法。如果有编译通过,如果没有编译失败

在运行时期:参阅对象所属的类中是否有调用的方法

总结:成员函数在多态调用时,编译看左边,运行看右边

在多态中,成员变量的特点。无论编译或运行都是参考左边。也就是引用型所属的类

在多态中,静态成员函数的特点:无论编译和运行都参考左边

object类:是所有对象的直接或者间接父类。该类中定义的是所有对象都具备的功能

equals:两个对象之间进行比较

toString:返回该对象的字符串表示。

内部类:将一个类定义在另外一个类的里面。对里面的那个类成为内部类(内置类,嵌套类)

特点:

1.内部类可以之间访问外部类中的成员,包括私有。之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类中的引用。该引用的写法是     外部类名.this

2.外部类要访问内部类必须建立内部类对象。

3.内部类在外部类成员内时能被私有修饰,

直接访问内部类中的成员:

当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内部类对象

外部类对象.内部类对象 别名=new 外部类对象.new 内部类对象

当内部类定义在成员位置上,就可以被成员修饰符所修饰。比如:

1。private:将内部类在外部类中进行封装

2.static:内部类就是具备static特性,当内部类被static修饰后,只能直接访问外部类中的static成员。出现了访问局限

在外部其他类中,如何直接访问静态内部类的非静态成员

格式:new 外部类名.内部类名().内部方法名()

在外部其他类中,如何直接访问静态内部类的静态成员

外部类名.内部类名.内部方法名()

注意:当内部类中定义了静态成员,该内部类必须是静态的。

  当外部类中的静态方法访问内部类时,内部类也必须时静态

JAVA学习笔记-06的更多相关文章

  1. Java学习笔记 06 数字格式化及数学运算

    一.数字格式化 DecimalFormat类 >>DecimalFormat是NumberFormat的子类,用于格式化十进制数,可以将一些数字格式化为整数.浮点数.百分数等.通过使用该类 ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  4. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  5. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  6. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  7. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  8. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  9. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  10. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

随机推荐

  1. Cesium JulianDate(十八)

    代表天文朱利安日期,它是自4712年1月1日(公元前4713年)正午以来的天数.为了提高精度,该类存储的日期部分和秒数部分是分开的.并且为了算术安全和表示闰秒,该日期始终存储在国际原子时间标准中 (T ...

  2. JZOJ 3423.Vani和Cl2捉迷藏 & [CTSC2008]祭祀

    \(\text{Problem}\) 求一个 \(DAG\) 的最长反链 \(\text{Solution}\) 由 \(Dilworth\) 定理只最长反链等于最小链覆盖 而原图的链是可相交的,所以 ...

  3. node.js 历史版本下载

    https://nodejs.org/zh-cn/download/releases/

  4. 【7】java之正则表达式

    一.正则标记 ​ 所有的正则可以使用的标记都在 java.util.regex.Pattern 类里定义. 1.1 单个字符 字符:表示由一位字符所组成: \\\\:表示转义字符"\\&qu ...

  5. [Vs和Reshaper]Vs Studio配合Resharper插件,某些快捷键无法使用的情况,Alt+F7

    一直使用Alt+F7来查找变量或者类型的使用位置 家里面的电脑某一天不可以用了,按了没有任何反应 后来查到竟然是被别的软件快捷键覆盖了 Alt+F7是被Nvidia GeForce覆盖了,关掉它或者修 ...

  6. C++ STL中的二分法

    二分法介绍 狭义的二分法是一种在有序的数组中查找是否存在某个值的算法.广义的二分法不一定需要显式的数组,只需要有序的解空间即可.(此处解空间借用线性代数的称谓,仅表示所有合法解的集合,与线性代数无关) ...

  7. vue学习 第三天css基础

    1.emment语法(作用:提升html和css书写速度) 2. 复合选择器 1)由两个或多个基础选择器,通过不同的方式组合而成的,可以更准确.更高效的选择目标元素(标签) 2)后代选择器.子元素选择 ...

  8. server2008 安装mongodb

    1.下载指定版本 3.6.23  zip压缩文件 ,似乎高版本已经不支持在server2008了! 下载地址:https://www.mongodb.com/try/download/communit ...

  9. Java中Set里remove详解

    例如 1 HashSet set = new HashSet(); 2 Person p1 = new Person(1001,"AA"); 3 Person p2 = new P ...

  10. Mac用自带软件QuickTime Player进行录屏

    ​ Mac电脑用自带软件QuickTime Player进行录屏的教程,几步就可以学会,挺简单的. 1.首先,找到并打开QuickTime Player软件.可以鼠标右键这个图标,选择"选项 ...