1: 动态绑定和静态绑定

使用private或static或final修饰的变量或者方法,使用静态绑定。而虚方法(可以被子类重写的方法)则会根据运行时的对象进行动态绑定;

静态绑定使用类信息来完成,而动态绑定则需要使用对象信息来完成

  重载(Overload)的方法使用静态绑定完成,而重写(Override)的方法则使用动态绑定完成;

2:访问修饰符public,private,protected, default

类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。总结如下表:

3: final 的意义:

final可以修饰类,方法,变量:

final修饰的类不能被继承;

final修饰的方法不能重写;(注意:如果父类是private final, 子类是可以定义同名函数,相当于定义新方法,不是重写;否则有编译错误)

final修饰的变量是不可以更改的(注意:如果是基本类型,基本类型值不能变;如果是指向对象,对象的内容可以更改)

4: abstract class(抽象类)  VS   interface(接口)

abstract class: 不能创建对象(JVM可以?)但可以创建引用;

   抽象方法(abstract修饰函数名): 有方法名的定义,无实现;

含有抽象方法的类是抽象类,但抽象类不一定含抽象方法。

    一个类继承抽象类,必须实现抽象类的抽象方法,否则,此类也是抽象类。

abstract不能和final,private,static连用;

接口是一个特殊的抽象类,里面的常量都是public,static,final的;里面的方法都是public的abstract的。既然都是这样,那么在定义接口时就可以直接省略这些修饰符。(怪不得接口里面一般不定义属性呢);

接口的方法都是抽象方法;

接口不能创建对象,但可以声明一个接口类型的引用;

implements( VS extends

如果不想让子类抽象,就要实现接口里面所有的抽象方法。实现方法时的public不可以少

接口支持多继承 ; 但是抽象类不行;

   abstract  class  VS    interface;

类可以同时继承一个父类,实现多个接口;

二者各自的好处:  接口可以多继承;           抽象类可以有默认的实现方法,接口不能。

5:     instanceof  :  判断是否是某个类型的实例; 在向下转型的时候用这个很重要;

6:   toString() 什么时候会自动调用?

"对象 + 字符串"的时候会自动调用对象的toString()函数;

7: 构造器如何调用?

咱们写的代码只能在构造函数中的最前面调用构造函数。

8: 是否可以通过返回值区分是否重载?   不能

9: 默认构造函数:   如果没写构造器,就会创建个默认构造器; 如果写了,就无默认构造器。

10: JAVA为什么没有sizeof ?   因为不需要,不存在跨平台的问题,各种类型的大小是固定的;

11:   ==  VS  equals  :        == :  比较引用是否是一个;              equals : 比较内容

12: 基本成员的默认值:    boolean false; char null; byte: 0; int 0; long 0L; float 0.0f;  double 0.0d

JAVA 编程思想一的更多相关文章

  1. JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)

    switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...

  2. 《Java编程思想》学习笔记(二)——类加载及执行顺序

    <Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...

  3. #Java编程思想笔记(一)——static

    Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static ...

  4. [Java编程思想-学习笔记]第3章 操作符

    3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...

  5. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

  6. 《java编程思想》读书笔记(一)开篇&第五章(1)

    2017 ---新篇章  今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...

  7. Java编程思想——初始化与清理

    PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化   虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...

  8. java编程思想-复用类总结

    今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...

  9. 注解的基本盘点 -- 《Java编程思想》

    注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据. ---<Java编程思想> 其实注解可以理解为一个工具类,只要使用了这个工 ...

  10. Java编程思想读书笔记之内部类

    现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...

随机推荐

  1. BZOJ4004 [JLOI2015]装备购买[贪心+线性基+高消]

    一个物品可以被其他物品表出,说明另外的每个物品看成矩阵的一个行向量可以表出该物品代表的行向量. 于是构造矩阵,求最多选多少个物品,就是尽可能用已有的物品去表示,相当于去消去一些没必要物品, 类似于xo ...

  2. python 数据库插入操作

    数据库插入操作 以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录: #!/usr/bin/python # -*- coding: UTF-8 -*- import MyS ...

  3. [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582 题意:删掉边使得1到n的最短路改变,删掉边的代价为该边的边权.求最小代价. 比赛时一片浆糊,赛后 ...

  4. JavaScript实现页面滚动到div区域div以动画方式出现

    用JavaScript实现页面滚动效果,以及用wow.js二种方式实现网页滚动效果 要实现效果是页面滚动到一块区域,该区域以动画方式出现. 这个效果需要二点: 一:我们要先写好一个css动画. 二:用 ...

  5. postman教学视频百度网盘转载分享

    百度云盘教学视频分享:https://pan.baidu.com/s/1r_e08FOkvQBZcC5-vU5M4w postman官网及下载地址:https://www.getpostman.com ...

  6. 分布式-信息方式-ActiveMQ的Destination高级特性3

    虚拟destination用来创建逻辑destination,客户端可以通过它来生产和消费消息,它会把消息映射到物理destination. ActiveMQ支持2种方式: 1:虚拟主题(Virtua ...

  7. 关于Jdk7与Jdk8对Collections进行分组的区别

    先准备一点数据: public class User {    private Integer id;    private String type;    private String name;  ...

  8. DH加密算法

    http://blog.csdn.net/zbw18297786698/article/details/53609794

  9. Gradle项目构建工具学习笔记(持续更新中。。。)

    1.gradle的安装 1)从官网下载gradle,然后解压 2)在系统环境变量新建GRADLE_HOME 3)将%GRADLE_HOME%\bin加入PATH中 2.验证是否安装成功 gradle ...

  10. 20175215 2018-2019-2 第七周java课程学习总结

    第八章 常用实用类 8.1 String类 Java专门提供了用来处理字符序列的String类.String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用S ...