无意间看到youtube上的一组java基础的视频,顺便做了笔记,整理如下:

出处:

作者:Edward Shi

视频链接:https://www.youtube.com/watch?v=IQE9jHaEhRM&list=PLvyIyKZVcfAnGitjgY7xwL61GK0J39Pp7&index=1

1、java基本特性

  • 1)java是面向对象的语言
  • 2)跨平台
  • 3)有容错机制
  • 4)支持多线程

2、类中有多少/种变量

  • 1)局部变量
  • 2)实例变量:class里,方法外
  • 3)类变量:static修饰

3、构造函数constructor

  默认有个空参数构造函数。

4、权限范围access modifier

  • private:私有成员,只能是类内部
  • protected:保护成员,内部或者继承才可以
  • public:公开,没有限制

5、string stringBuffer stringBuilder

  • String:是不可改变的。为什么?因为考虑到多线程的情况。线程安全
  • stringBuffer:可改变,线程安全
  • stringBuilder:可改变,线程不安全

6、Finalize Finally Final

  • Finalize:方法。对象销毁时调用,垃圾回收时。当对象不可达时调用,一般不建议写这个方法。
  • Finally:异常处理。try catch finally异常处理无论如何都会走。但是如果提前被return了就不走了。
  • Final:修饰符,类/变量/方法。不能被改变、不能被集成。构造函数永远不能变成final。

7、Exception异常处理

  • CheckedException:不能被预见的异常,比如:不知道文件到底有没有打开。
  • RuntimeException:可以通过变成避免的异常,比如空指针。

8、Throw Throws

  • Throws:方法申明的末尾,可以跑出多个异常。
  • throw:方法中实现。
  • 自定义异常:必须继承,比如:extend RuntimeException

9、Overload Overrride

  • Overrride:重写。重写super class的方法。
  • Overload:重载。方法名字相同,参数不同

10、java三大特性

  • Inherritance(继承):一个对象继承另一个对象。extands
  • Polymorphism(多态):对象的多种形式。Parent aa = new Child();
  • Encapsulation(封装):数据的隐藏。好处:使用者调用的时候不会改变本身。

11、抽象类Abstract Class、Interface

  • Abstract Class:抽象类。特性:不能用new去实例化,抽象类可定义抽象方法,只能声明不能实现,实现类必须实现继承的所有方法。
  • Interface:接口,方法集合。特性:不能实例化,没有构造函数,接口里面的方法都是抽象方法。

相同点:

  • 1)都是抽象,都不能实例化;
  • 2)实现类都必须实现接口或者抽象类里面的方法。

不同点:

  • 1)抽象函数中可定义变量,而接口中只能定义static/final的成员变量;
  • 2)实现接口用implements,实现抽象类用extends;
  • 3)一个类可以实现多个接口,但只能实现一个类;
  • 4)接口强调特定功能,抽象类强调所属关系。

12、static静态块

类加载的时候就已经执行,就执行一次,不是初始化的时候加载。不能够引用类中的变量;

13、Garbage Collection垃圾回收机制

清除内存机制。但它也不一定保证能够清除所有的内存,比如:1)如果创建对象的速度大于清除速度;2)创建的对象不属于垃圾回收机制的要处理的对象时也不会清除。

附:google java编程规范:

作者:Hawstein
出处:http://hawstein.com/posts/google-java-style.html

java基础要点总结的更多相关文章

  1. java基础要点

    Java语言是现在比较常用的编程语言,因为Java语言可以编写桌用程序,也可以编写web程序,还能编写嵌入式程序.这是由于相比脚本语言,Java 的运行速度要快.而对于底层语言,Java与平台无关,可 ...

  2. java基础学习03(java基础程序设计)

    java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...

  3. 微冷的雨Java基础学习手记(一)

    使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ...

  4. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  5. Java 编程要点之并发(Concurrency)详解

    计算机用户想当然地认为他们的系统在一个时间可以做多件事.他们认为,他们可以工作在一个字处理器,而其他应用程序在下载文件,管理打印队列和音频流.即使是单一的应用程序通常也是被期望在一个时间来做多件事.例 ...

  6. Java基础(十一) Stream I/O and Files

    Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程 ...

  7. 第43节:Java学前要点

    Java学前要点 01 学习Java,有人推荐去培训,有人说没用,其实有钱的,不知道如何学,或者逼不得已去的就可以,也有人自己为了不花这些钱,而选择自学,我觉得也行. 现在大部分人学东西要学的好,都是 ...

  8. Java基础知识点(四)

    前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...

  9. Java基础知识点(三)

    前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...

随机推荐

  1. script 写在body和head的区别(WEUI中使用swiper删除)

    区别简述: 在HTML body部分中的JavaScripts会在页面加载的时候被执行.在HTML head部分中的JavaScripts会在被调用的时候才执行.   JavaScript应放在哪里 ...

  2. 李清华201772020113《面向对象程序设计(Java)》第六周学习总结

    第一部分 理论知识 1.继承 用已有类来构建新类的一种机制.新类可以继承父类的方法和域,同时可以在新类中添加新的方法和域. 已有类称为:超类.基类或父类.新类称作:子类.派生类或孩子类. 子类的构造器 ...

  3. mybatis的Selective接口和普通接口的区别

    举例说明: updateByPrimaryKeySelective会对字段进行判断再更新(如果为Null就忽略更新),如果你只想更新某一字段,可以用这个方法. updateByPrimaryKey对你 ...

  4. 去BAT,你应该要看一看的面试经验总结(转)

    来源微信公众号『easyserverdev』 http://mp.weixin.qq.com/s/UZljzFMjobo1wzCguY7NDg 说下我的面试经验吧,都是亲身经历,不喜勿喷: 我去年12 ...

  5. Linux命令:read

    在shell中,内建(builtin)命令read,格式如下: read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] ...

  6. pip install 提示代理连接失败原因及解决办法

    # pip install 提示代理连接失败原因及解决办法 1. 错误提示 在公司电脑上安装Python的虚拟环境时输入命令: pip install virtualenv 系统提示以下异常信息: R ...

  7. eosjs

    [eosjs] Javascript API,用于帮助访问与 EOSIO RPC API. 1.安装 npm install eosjs@beta 2.Signature Provider The S ...

  8. EOS keosd

    [EOS keosd] The program keosd, located in the eos/build/programs/keosd folder within the EOSIO/eos r ...

  9. 【转载】Windows上那些值得推荐的良心软件-整理 easybcd 引导工具 easyuefi 引导工具

    您查询的关键词是:清理dism知乎 以下是该网页在北京时间 2019年03月17日 21:56:16 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. 百度和网页 htt ...

  10. [leetcode]366. Find Leaves of Binary Tree捡树叶

    Given a binary tree, collect a tree's nodes as if you were doing this: Collect and remove all leaves ...