< 今日知识点 >

  • 方法重写
  • 什么是多态
  • instanceof 和类型转换
  • static 关键字详解
  • 抽象类
  • 接口的定义和实现
  • N种内部类
  • 异常01:Error 和 Exception
  • 异常02:捕获和抛出异常
  • 异常03:自定义异常以及经验小结

·
·
`

— 01方法重写
public class DemoA extends DemoB {public static void test(){System.out.println("A=>test()");}
}

·

public class DemoB {public static void test() {System.out.println("B=>test()");}
}

·

import OOP.Demo03.DeomoA;
public class Application {public static void main(String[] args) {//方法的调用只和左边定义的数据类型有关A a = new A();a.test();               //调用A方法//父类的引用指向了子类B b = new A();b.test();}
}

·

运行结果:
A=>test()
B=>test()
·
重写总结:
1、必须要有继承关系,子类重写父类的方法!
2、方法名必须相同,参数列表必须相同,方法体不同。
3、修饰符范围可以扩大,但是不能缩小 public > Protected > Default > private
4、抛出的异常:范围可以被缩小,但不能扩大。
5、为什么需要重写?

  • 父类的功能子类不一定需要,或者不一定满足
    6、凌乱的记录:静态方法可以直接通过类访问,也可以通过实例方位(共享)
    ·
    ·
    ·
—02 多态

1、一些笔记:

  • 多态即同一方法可以根据发送对象的不同,而采用多种不同的行为方式。
  • 一个对象的实际类型是确定的,但可以指向对象的引用类型有很多(比如父类、有关系的类)。
  • 对象能执行哪些方法,主要看对象左边的类型,和右边关系不大!

Student s1 = new Student ( ) ; //主要看Student类
Person s2 = new Student ( ); //主要看Person类

  • 子类能够调用自己的方法,也能够调用继承的父类的方法;而父类只能调用自己的方法,不能够调用子类的方法。
  • 多态是方法的多态,属性没有多态
  • 存在条件:继承关系、子类重写父类方法,父类引用指向子类对象
  • instanceof 引用类型转换
    ·
    ·
    ·
—03 instanceof 和类型转换

笔记:
1、把子类转换为父类,是向上转型,可能会丢失自己独有的方法
2、把父类转换为子类,向下转型:强制转换
3、作用:方便方法的调用,减少重复的代码
·
·
·

—04 static关键字
public class Student {private static int age;private double score;public void run(){}public static void go(){}public static void main(String[] args) {Student s1 = new Student();Student.go();            //非静态方法需要new了新对象之后才能调用run();                       //静态方法run可以直接调用}
}

·

静态方法run可以直接调用
非静态方法需要new了新对象之后才能调用
非静态方法可以去调用静态方法里的所有东西,而静态方法里面只能调用静态方法,不能调用非静态方法 (是类加载的原因)

·
·
·

—05 抽象类

1、加了abstract就变成抽象类
2、抽象类不能new出来,不能被实例化,只能靠子类去实现它,这是一种约束
3、抽象类里面可以写普通方法,抽象方法必须写在抽象类中

思考题:
- 抽象类存在构造器吗?
- 抽象类存在的意义?
·
·
·

—06 接口

1、比较:

  • 普通类:只有具体实现
  • 抽象类:具体实现和规范(抽象方法)都有!
  • 接口:只有规范!自己无法写方法!
    2、接口的本质:接口就是规范,定义的是一组规则,用interface定义
    3、接口中的所有定义方法其实都是抽象的 public abstract
    4、接口小总结:
  • 是一个约束
  • 定义一些方法,让不同的人实现
  • 接口中默认的方法都是 public abstract
  • 接口不能被实例化,接口中没有构造方法
    ·
    ·
    ·
—07内部类
  • 内部类就是在一个类的内部再定义一个类,比如A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对于B类来说就是外部类了。
    1、成员内部类
    2、静态内部类
    3、局部内部类
    4、匿名内部类
    ·
    ·
    ·
—08 异常机制



  • 异常处理五个关键字:try、 catch 、finally 、throw 、throws

  • ·

·
·
·

附:PPT图片均来自b站 【狂神说Java】Java零基础学习视频通俗易懂

拔丝芋头的Java学习日记---Day10相关推荐

  1. Java学习日记Day10(面向对象day04)

    面向对象第4天: 回顾: 引用类型数组: 想给元素赋值,需要new个对象 若想访问对象的数据,需要通过元素打点来访问 Student[] stus = new Student[3]; stus[0] ...

  2. Java学习日记1——基础认知

    Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...

  3. Java学习日记-Day01

    Java学习日记-Day01 Java语言概述 比特(byte)与字节 内存 Java基础知识图解 人机交互方式 常用的DOS命令 常用快捷键 计算机编程语言介绍 第一代语言 第二代语言 第三代语言 ...

  4. 尚学堂Java学习日记Day3

    尚学堂Java学习日记Day3 第三天老师先回顾了昨天的内容我从回顾中掌握了新的知识 如下图所示 int与double计算,输出类型为double的不同结果 会把int转成double类型的,这是隐式 ...

  5. Java学习日记:UI篇(6)--谢尔宾斯基地毯图

    Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...

  6. 【日记】Java学习日记(第63天)持续无聊更新

    前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...

  7. 尚学堂Java学习日记Day1

    尚学堂学习日记Day1 #今天开始写学习博客记录自己学习java的点滴成长历程,希望能成为学弟学妹们的前车之鉴. 先大概的自我介绍下,我原本从事的是网络工程师,学习的是Cisco(思科)并拥有CCNP ...

  8. Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片

    文件上传的工具类: 每次文件上传要写很多东西,把这些封装成一个工具类,以后用起来就会方便很多. 先创建一个类存储上传文件的信息: package com.upload; /*** 每上传成功一个文件的 ...

  9. 2019-06-03 Java学习日记 day24 多线程

    多线程 线程是程序执行的一台路径,一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率,可以同时完成多项工作 多线程的应用背景 红蜘蛛同时共享屏幕给多个电脑 迅雷开启多条线程一起下载 QQ同时 ...

  10. Java学习日记----反射

    ------- android培训.java培训.期待与您交流! ---------- 1 Class类   1.1 反射不是Java1.5的新特性,而是从1.2就有的特性,在以后学习到框架都要用到反 ...

最新文章

  1. Java关键字——instanceof
  2. python缩进说法_【多选题】关于Python程序中与“缩进”有关的说法中,以下选项中错误的是()。...
  3. qt整个窗口上绘制矩形与在窗口的子控件上绘制矩形
  4. 重磅!MobileNetV3 来了!
  5. 基于JAVA+Servlet+JSP+MYSQL的网络考试系统
  6. IdentityServer4实战 - 谈谈 JWT 的安全策略
  7. 思科6000系列交换机配置维护手册
  8. Unity上传图片到服务器及服务器如何配置
  9. 面试的准备——公子禹
  10. java证明角谷猜想_Java程序(角谷猜想,applet) -
  11. 又是一年深秋时--西湖枫叶随拍
  12. 4246 奶牛的身高
  13. 数据库锁与加锁情况介绍(记录锁、间隙锁、next-key锁)
  14. 申宝证券-题材股活跃沪指尾盘收红
  15. outlook添加账号接受服务器,如何在outlook添加账号
  16. 【java】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。
  17. void *指针是什么含义
  18. 职业生涯规划与管理实操(zt)
  19. 众包知识获取的预算任务调度
  20. python如何判断列表是否为空_python简单判断序列是否为空的方法

热门文章

  1. 连这些题都不会做好意思说自己懂网络?
  2. 如何调换手机桌面位置_手机桌面很乱怎么整理?简单七招让你效率更高!
  3. 用scratch2.0编写乒乓球游戏
  4. 安恒如何扫描oracle,安恒明鉴数据库弱点扫描器
  5. hdmi线推荐微型计算机,几款高清线对比下来,这款mini dp转HDMI最实用
  6. 黑群晖折腾之docker系列之迅雷远程下载
  7. RationalDMIS 2020 SP25扫描测头构建与校验(山涧果子)
  8. 苹果开发者计划注册流程
  9. 2021/11/16 Andriod Studio安装经验总结
  10. 学编程c语言高考能加分吗,编程已列入中高考,孩子升学加分的机会你抓住了么?...