#Java笔记2

p107

局部变量和成员变量的区别

  1. 局部变量:在方法内部

    成员变量:在方法外部,直接写在类当中

  2. 局部变量:只有在方法中可以使用,出了方法就不能再用了

    成员变量:整个类中都可以通用

  3. 局部变量:没有默认值,必须手动赋值

    成员变量:有默认值

  4. 局部变量:栈内存

​ 成员变量:堆内存

  1. 局部变量:方法进栈诞生,方法出栈消失

    成员变量:对象创建诞生,对象垃圾回收消失

p108

  1. 封装性:将细节信息封装起来,对外界不可见

    • 方法就是封装
    • private也是封装(用了private,只有本类可以访问,超出类了就不能访问)
    • 间接访问private变量用getxxx和setxxx。
    • 对于boolean类型,setxxx和isxxx

p112

构造方法

  1. 构造方法的名称必须和类名称一样,大小写也一样
  2. 构造方法不需要写返回值类型,void也不写
  3. 构造方法不能用return返回具体的值
  4. 如果没有写构造方法,编译器会默认一个构造方法,没有参数,方法体什么都不做
  5. 一旦写了构造方法,编译器就没有默认的构造方法了

P113

标准类

  1. 所有的成员变量都要用private修饰
  2. 为每一个成员变量写一个get和set方法
  3. 编写无参数的构造方法
  4. 编写全参数的构造方法

自动生成代码

code---->generate

p114

API:应用程序编程接口。JDK提供的现成的类的说明文档。

API文档最应该关注的三点:包路径、构造方法、方法摘要

P115

引用类型使用

  1. 导包

    • import 包路径.类名称
    • 如果目标类和当前类在同一个包下面,可以省略导包
    • 只有java.lang不需要导包,其他的都要导包
  2. 创建

    • 类名称 对象名=new 类名称()
  3. 使用

    • 对象名.成员方法名()

P118

匿名对象

  1. 只能使用一次,下次使用只能创建一个新的对象
  2. 如果只使用一次就可以使用匿名对象

P121

Random的nextInt()随机数为整个int范围,nextInt(n),左闭右开的区间。(比如n=10,范围就是0-9)

P128

  1. 如果想要对ArrayList使用基本数据类型,必须使用类型对应的包装类(包装类都位于java.lang下面)

    • bye Byte
    • short Short
    • int Integer
    • long Long
    • float Float
    • double Double
    • char Character
    • boolean Boolean
  2. 自动装箱拆箱,基本类型和包装类型可以自动转换

P133

字符串特点:

  1. 字符串内容用于不可变
  2. 字符串可以共享使用(节省内存)
  3. 字符串效果是上是char[]的字符数组,底层是byte[]字符数组

P135

程序中直接写双引号的字符串,都是在字符串常量池中的

对于引用类型来说,==比较的是地址

P136

  1. 任何对象都可以用object接收
  2. equals具有对称性
  3. 一个常量一个变量推荐把常量写在前面,例如“abc".equals(str)

P137、P138、P139、P140

  1. length
  2. concat
  3. charAt
  4. indexOf
  5. substring
  6. toCharArray
  7. replace
  8. split(方法参数是正则表达式,英文的句号.切割不了,用双斜杠点切割\\ .)

P145

  1. 使用static修饰成员方法,就成为了静态方法,静态方法不属于对象,属于类
  2. 如果没有static关键字,必须先创建对象,通过对象才能使用
  3. 有了static关键字,不需要创建对象,直接用类名称就可以使用
  4. 成员变量或是成员方法有了static都推荐使用类名称进行调用
  5. 静态只能访问静态,不能访问非静态(在内存中先有静态内容,再有非静态内容)
  6. 静态方法不能用this(this代表当前对象)
  7. 根据类名称放问静态成员变量时和对象没有关系,只和内存有关系

##P147

  1. 静态代码块当第一次用到本类时,静态代码块执行唯一一次
  2. 静态内容总是优先于非静态,静态代码块比构造方法先执行
  3. 典型用途:一次性的对静态成员变量进行赋值

P148

  1. toString将数组转化为字符串

  2. 字符串默认是sort升序排列

  3. 如果是自定义类型,必须要compareable或者comparator接口支持

P150

  1. abs(绝对值)
  2. ceil(向上取整)
  3. floor(向下取整)
  4. round(四舍五入)

P152

  1. 面向对象:封装、继承、多态
  2. 继承是多态的前提
  3. 继承解决共性抽取的问题
  4. 父类(基类、超类)
  5. 子类(派生类)
  6. 子类可以拥有父类的内容
  7. 子类可以拥有自己的专属内容

P154

1.继承关系中如果父子成员变量充满,则创建子类对象访问时有两种方法

  • 直接通过子类对象访问成员变量(等号左边是谁就优先用谁,没有就向上找)
  • 简洁通过成员方法访问成员变量(该方法属于谁就用谁的,没有就向上找)

P155

局部变量:直接写成员变量名

本类成员变量:this.成员变量名

父类成员变量:super.成员变量名

P156

父子继承访问成员方法的规则:创建的对象是谁,就优先用谁,没有就向上找

成员变量和成员方法都是向上找的

P157、P158

重写override(覆盖、覆写)

  1. 在继承关系中方法名称一样,参数列表也一样
  2. 重载overload方法名称一样,参数列表不一样
  3. Object类是所有类的公共最高父类
  4. 子类的返回值必须小于等于父类的返回值
  5. 子类方法的权限必须大于等于父类方法的修饰权限(default不是关键字)

P160

继承关系,父子构造方法:

  1. 子类构造方法中默认隐含一个super,先执行父类再执行子类
  2. 子类调用super必须再构造方法的第一句,而且只能用一次super
  3. 子类必须调用父类的构造方法,不写就用默认的,写了用自己的

P161

super用法

  1. 在子类的成员方法中访问父类的成员方法
  2. 在子类成员方法中访问父类成员变量
  3. 在子类构造方法中访问父类构造方法

P162

super访问父类内容,this访问子类内容。

this作用呢

  1. 在本类成员方法中访问本类成员变量
  2. 在本类成员方法中访问本类的另一个成员方法(而不是父类的方法)
  3. 在本类的构造方法中访问另一个构造方法(this在构造方法中调用也必须是第一个语句。super和this不能同时在构造方法中使用)

P164

Java特点

  1. 单继承的,只能有一个直接父类
  2. 可以多级继承
  3. 一个父类可以有很多子类

P166、P167、P168

抽象方法:加上abstract关键字,去掉大括号,直接分号

抽象类:抽象方法必须在抽象类,在class之前加上abstract

  1. 不能直接创建抽象类对象
  2. 必须用子类继承抽象父类
  3. 子类必须覆盖重写所有抽象方法
  4. 抽象类中不一定有抽象方法

P171

接口:公共规范标准。符合规范标准就能通用

接口最重要的内容就是其中的抽象方法

接口中可包含的内容:

  • java7 常量、抽象方法
  • java8 默认方法、静态方法
  • java9 私有方法

P172

  1. 接口中抽象方法,修饰符必须是固定的public abstract
  2. 两个关键字可以选择性省略
  3. 接口不能直接使用,必须有一个实现类来实现接口
  4. 接口的实现必须覆盖重写接口中所有的抽象方法
  5. 创建实现类对象进行使用
  6. 如果实现类没有覆盖重写所有的抽象方法,这个实现自己就必须是抽象类
  7. 不能通过接口实现类的对象来调用接口中的静态方法,通过接口名称直接调用静态方法

P181

  1. 接口也可以使用成员变量,但必须使用public static final三个关键字进行修饰
  2. 一旦使用final说明不可改变
  3. 可以省略public static final关键字但是省略也是这个意义
  4. 接口中的常量必须赋值
  5. 接口中常量的名称完全大写,用下划线分隔

P183

  1. 接口不能有静态代码块
  2. 接口不能有构造方法
  3. 一个类父类唯一,一个类可以实现多个接口
  4. 如果多个接口存在重复的抽象方法,只覆盖重写一次即可
  5. 如果实现类没有覆盖重写接口中的所有抽象方法,则实现类必须是抽象类
  6. 如果实现类实现的接口中有重复的默认方法,必须对冲突的默认方法进行覆盖重写
  7. 一个类继承父类也实现接口了继承优先于接口实现

P184

  1. 类与类是单继承的
  2. 类与接口是多实现的,一个类可以实现多个接口
  3. 接口和接口是多继承的
  4. 多个父接口的抽象方法可以重复
  5. 多个父接口中的默认方法如果重复,必须进行覆盖重写,必须带着default关键字

P185

  1. 面向对象特性:封装、继承、多态
  2. extends和implements是实现多态的前提

P186

代码中体现多态性:父类引用指向子类对象

父类名称 对象名=new 子类名称();

接口名称 对象名=new 实现类名称();

P187

多态访问成员变量:

  1. 直接通过对象名称访问成员变量,看等号左边是谁就优先用谁,没有就向上找
  2. 间接用成员方法访问,看该方法属于谁就用谁,没有就向上找

P188

在多态代码中成员方法访问规则:

看new的是谁就优先用谁,没有就向上找

P190

  1. 对象向上转型是多态的写法
  2. 向上转型一定是安全的

P191

对象一旦向上转型就无法调用子类特有方法(用对象的向下转型)

子类名称 对象名=(子类名称)父类对象

将父类对象还原为子类对象,类似于强制转换

P192

如何知道一个父类的引用是一个什么类型的子类

格式:对象 instanceof 类名称

将会得到一个boolean值结果,判断对象能否当做后面类型的实例

P195

final的常用四种方法

  1. 修饰一个类
  2. 修饰一个方法
  3. 修饰一个局部变量
  4. 修饰一个成员变量

P196-P199

  1. final 修饰一个类的时候,没有任何的子类
  2. 一个类是final的,其中的所有成员方法都无法进行覆盖重写
  3. final修饰成员方法,这个方法就是最终方法,不能被覆盖重写
  4. 对于方法来说,abstract和final矛盾
  5. final修饰局部变量,该局部变量不能改变。
  6. 对于成员变量来说,由于成员变量有默认值,用了final之后必须手动赋值,就没有默认值了
  7. 对于final的成员变量,要么直接赋值,要么通过成员方法赋值。(用构造方法赋值必须保证所有构造方法都能赋值)

P200

java中的四种权限修饰符

​ public > protected > default > private

同一个类 Y Y Y Y

同一个包 Y Y Y N

不同包子类 Y Y N N

不同包非子类 Y N N N

b站黑马Java就业班笔记P101-P200相关推荐

  1. java就业班学什么呀_传智播客JAVA就业班学习心得

    传智播客JAVA就业班学习心得 4月26日CVS---4月27日UML 连续两天状态很是不好,上课总是不能够集中精神.不知为什么听这两天课的时候精神很涣散,也不知道自己在想什么,一整天的课,似听非听的 ...

  2. 传智播客java就业班入学测试题(自测+答案)

    ---------------------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ---------------------- 传智播客java就业班入学测试题 ...

  3. 2020年黑马python视频教程5.0新版课程_黑马Python就业班5.0-最新2020人工智能

    2020年最新版Python5.0,全新升级!人工智能数据分析,爬虫,机器学习,WEB全栈开发 Python开发特训班课程,以实战项目出发, 将部署运维和测试开发内容整合的项目中, 真正让学员参与到实 ...

  4. java项目实战达内代码_达内Java就业班项目实践之“飞扬小鸟”游戏项目

    达内Java培训班采用理论和实践相结合的方式,项目贯穿于整个Java学习周期,边学边练,通过完成项目,增加实战经验.除了贯穿课程始终的学子商城项目外,在不同的学习阶段,达内Java课程还为学员安排了适 ...

  5. B站黑马Java基础+就业班+各种项目idea版本(正在更新)2 IO流

    2020.4.7 IO流 p355 往文件中写入数据(UTF-8格式 3个数字代表一个汉字)FileOutputStream p358 一次读取一个字节 利用 FileInputStream 中的re ...

  6. 黑马程序员博学谷Java就业班课程

    1.资料全无加密,可任意试看 2.内容包括课程+资料 地址:https://www.boxuegu.com/class/outline-1112.html

  7. 掌握这6大技能体系:黑马程序员java就业班考试题

    一.前言 有句话:正因为你优秀,所以难以卓越! 刚开始听这句话还在上学,既不卓越.也不优秀,甚至可能还有点笨!但突然从某次爬到班级的前几名后,开始喜欢上了这种感觉,原来前面的风景是如此灿烂

  8. Java核心编程总结(三、多态与内部类),java就业班百度网盘

    需要存在方法重写 1.4多态的优劣势 优势 在多态形式下,右边对象可以实现组件化切换,业务功能也随之改变,便于扩展和维护.可以实现类与类之间的解耦 实际开发的过程中,父类类型作为方法形式参数,传递子类 ...

  9. 最新《java就业班课程》

    2015/1/18 星期日 [开学典礼]--  2015/1/19 星期一 Java基础加强 钟太潋  2015/1/20 星期二 HTML钟太潋  2015/1/21 星期三  2015/1/22 ...

最新文章

  1. 360浏览器打不开qq空间_浏览器变慢有救了!只要2秒,重回新安装一样爽快!
  2. Win10环境下安装压缩包版本MySQL-8.0.13
  3. RabbitMQ——自动退出的解决方案
  4. swiper轮播后hover无效问题解决案例
  5. Nginx中Gzip压缩功能的实例配置
  6. 使用Java读取 “Python写入redis” 的数据踩坑记录
  7. 操作系统内存管理--简单、页式、段式、段页式
  8. DevOps“兵器”60样,你都会使哪几样?
  9. 电压源和电流的关联参考方向_数控电压、电流源1.3
  10. 电信机顶盒怎么连接鸿蒙系统电视,移动电信机顶盒怎么投屏?怎么连接手机
  11. python — 二手房
  12. STM32单片机网络通信调试
  13. MongoDB 网页可视化管理(adminMongo 的安装、配置)
  14. 1、需求/方案串讲与反串讲
  15. Python实现视频转代码舞
  16. python3实现网络爬虫(4)--BeautifulSoup使用(3)
  17. 使用RX方式模拟DoubanFm的登陆
  18. C#下Winform下使用WebKit、Geckofx、CefSharp对比及CefSharp代码实现
  19. debian之网易云音乐的安装
  20. IDC数据中心机房气体灭火系统知识

热门文章

  1. 【极客日常】解决UE4中FJsonObject转USTRUCT的坑
  2. 使用Python+OpenCV+Tensorflow+Flask实现检测X光图像中的COVID-19(新冠病毒)
  3. RT-Thread:U盘读写
  4. 矛与盾的较量-南美洲巅峰对决
  5. Android 仿微信朋友圈拍小视频上传到服务器(转)
  6. (转自天涯虚拟社区)
  7. 50W闭环控制Boost DC-DC变换器样机设计
  8. mysql 赋予用户权限 grant all privileges on
  9. Content Type
  10. 数据分析工具:使用tableau工具画深圳二手房参考价的统计图