学了一学期的JAVA,临近期末,整理了一些JAVA考试中需要掌握的点,记录在这里。

1、编译多个JAVA文件,运行程序

(1)

javac .java .java
java Main

(2)

javac .\*.java
java Main

  

2、JAVA中基本数据类型/占有bit大小

byte     short
int long
float double
char boolean 不定

  java Unicode码储存char,故有2字节。

  boolean的大小取决于上下文。(延伸阅读:https://blog.csdn.net/qq_35181209/article/details/77016508)

3、JAVA中遇到的double精度损失问题可以使用BigDecimal

4、final关键字

  final关键字修饰类,该类不能被继承

  final关键字修饰方法,该方法不能被重写

  final关键字修饰成员变量,该变量不能被改变(必须被初始化)

5、访问权限

  由小到大依次为:

  private 同类中

  friendly 同包中

  protected 同包中,子类,子类的子类

  public 全部

6、不等长二维数组

int[][] a=new int[3][];
a[0]=new int[4];

7、可变参数

public void test(String s,int ... a){}

  可变参数必须放在最后,访问方式类似于数组:a[0],a[1]...

8、异常的继承关系

  参考链接:https://blog.csdn.net/u013252223/article/details/71514620

9、短路

test(0)&&test(1)&&test(2)

  类似于上面的判断语句,JAVA会顺序执行,在确定该语句的值后不再继续向后执行

10、继承关系中的构造顺序

  按先后顺序依次是:

  父类静态成员及static块:有对象实例化就执行,只执行一次
  子类静态成员及static块:有对象实例化就执行,只执行一次
  父类普通成员初始化\代码块执行
  父类构造函数
  子类普通成员初始化\代码块执行
  子类构造函数

  成员初始化的顺序取决于定义的位置前后。

11、单例模式

  一种单例模式:

public class Singleton {
private static Singleton uniqueInstance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return uniqueInstance;
}
public void foo() {
System.out.println("Aha!");
}
}

12、仅仅方法返回值不同(参数相同)不能重载,会报错

13、方法覆盖

  (1)子类的异常抛出不能比父类更宽泛(延伸阅读:https://blog.csdn.net/yangyong0717/article/details/78494615
  (2)不能缩小父类方法的访问权限
  (3)静态方法不能重写为非静态方法/反之也不行

14、多态

  多态中,属性、静态方法会被隐藏,非静态方法会被覆盖。

  被隐藏的方法和变量可以在子类中用super关键字使用(但要有权限)

  例如:

Parent partent=new Child();

  那么此时调用的是本被隐藏的父类的属性和静态方法。

15、类继承多个接口时,接口中出现同名函数,他们的返回值不同而参数相同,则会报错。出现同名变量不访问不会报错,如果试图访问则有错误。

值得一提的是,如果多继承的两个变量同名但被隐藏了,那么不会报错。

JAVA复习笔记01的更多相关文章

  1. 【私人向】Java复习笔记

    此笔记学习于慕课网:Java入门第一季-第三季,想学的可以点击链接进行学习,笔记仅为私人收藏 建议学习时间:2-3天(极速版) 数据类型 基本数据类型存的是数据本身 引用类型变量(class.inte ...

  2. java复习笔记

    本笔记(无异常处理与网络编程部分)整理自<java程序设计>-黄岚 王岩 王康平 编著 java数据     UI     I/O      java线程      数据库操作 Java数 ...

  3. JAVA复习笔记分布式篇:zookeeper

        前言:终于到分布式篇,前面把JAVA的一些核心知识复习了一遍,也是一个JAVA程序员最基本要掌握的知识点,接下来分布式的知识点算是互联网行业的JAVA程序员必备的技能:     概念:ZooK ...

  4. mybatis 复习笔记01

    本文内容转自传智播客笔记 1. 问题总结  1). 数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连 ...

  5. Java学习笔记:01面向对象-继承

    01面向对象-继承 一.java中的数据类型 1.基本数据类型:四类 八种 byte(1) boolean(1) short(2) char(2) int(4) float(4) long(8) do ...

  6. Java学习笔记 01 基本数据类型、标识符、关键字和运算符

    一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147 ...

  7. 【8-19】java学习笔记01

    JDK API文档 java SE 8 API文档:http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downl ...

  8. Java复习笔记--java中this 关键字

    Java中this关键字,this可以调用类的成员变量和成员方法,this还可以调用类中的构造方法.使用这种方式值得注意的是, 只可以在无参构造方法中的第一句使用this关键字调用有参构造方法. pu ...

  9. 【Java】Java复习笔记-第四部分

    反射 反射: 在运行时动态分析或使用一个类进行工作. java.lang.Class类:描述类信息的类. 类对象:描述一个类信息的对象,当虚拟机加载类的时候,就会创建这个类的类对象并加载该对象,Cla ...

随机推荐

  1. PHP正则表达式入门教程[转]

      思维导图 点击下图,可以看具体内容!     介绍          正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,p ...

  2. HDU 1618 Oulipo KMP解决问题的方法

    鉴于两个字符串,寻找一个字符串的频率,另一个字符串出现. 原版的kmp另一个陷阱.以下凝视了,标不是踩着好,有加班一定几率,也有机会错误,根据不同的字符串可以是详细. 变化看起来像一个,kmp速度是非 ...

  3. thinkphp3.2定义多模块并设置默认模块

    前台入口文件index.php <?php // +---------------------------------------------------------------------- ...

  4. 基于Linux C的socketEthereal程序和Package分析 (一个)

     执行测试平台:CentOS 6.5发行版,内核版本号3.11 1. Linux抓包源程序 在OSI七层模型中.网卡工作在物理层和数据链路层的MAC子层. 进行网络通信时.源主机通过socket( ...

  5. Easyui Tab刷新

    Easyui Tab刷新: function refreshTab(title){ var tab = $('#id').tab('getTab',title); $('#id').tab('upda ...

  6. EntityFrameworkCore 单表树状结构配置

    数据结构 public class TreeNode { [Key] public long Id { get; set; } public string NodeName { get; set; } ...

  7. CentOS 6安装桌面

    安装图形界面 yum -y groupinstall "X Window System" "Chinese Support" "Desktop&quo ...

  8. JS window下面的对象

    ) •Js脚本一执行就会访问服务器.超链接诶还需要点击. getElementById(), (非常常用),根据元素的Id获得对象,网页中id不能重复.也可以直接通过元素的id来引用元素,但是有有效范 ...

  9. 读BeautifulSoup官方文档之html树的打印

    prettify()能返回一个格式良好的html的Unicode字符串 : markup = '<a href="http://example.com/">I link ...

  10. Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake -v 是自己使用的Qt版本,否则用export PATH进行修改)good

    patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 patchelf --set-rpath patchelf --set-interpreter 通过这个工具 https://g ...