final修饰符
1)final变量
final表示“最后的,最终的”含义,变量一旦赋值后,不能被重新赋值。被final修饰的实例变量必须显示指定初始值。
final修饰符通常和static修饰符一起来创建类常量。
2)final方法
类中的final方法可以被子类继承,但是不能被子类修改。
声明fianl方法的主要目的是防止该方法的内容被修改。
3)final类
final类不能被继承,没有类能够继承final类的任何特性。

abstract修饰符
1)抽象类
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
抽象类可以包含抽象方法和非抽象方法。
2)抽象方法
抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。
抽象方法不嗯给你被声明成final和static.
任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类是抽象类。
如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。
抽象方法的声明以分号结尾。

synchronized修饰符
synchronized关键字声明的方法同一时间只能被一个线程访问。

transient修饰符
序列化的对象包含被transient修饰的实例变量时,java虚拟机跳过该特定的变量。
该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。

instanceof运算符
用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
instanceof运算符使用格式如下:
(Object reference variable) instanceof (class/interface type)

Java增强for循环
Java5引入了一种主要用于数组的增强型for循环。
语法如下:
for(声明语句 : 表达式)
{
    // 代码句子
}

switch case
从Java SE7开始,switch支持字符串String类型了,同时case标签必须为字符串常量或字面量。

Java Number & Math类
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。
java的Math包含了用于执行基本数学运算的属性和方法。
Math的方法都被定义为static形式,通过Math类可以在主函数中直接调用。

Java StringBuffer和StringBuilder类
和string类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder类是在Java5中被提出,它和StringBuffer类之间最大的不同在于StringBuilder类的方法不是线程安全的。(不嗯给你同步访问)
由于StringBuilder类相比StringBuffer类有速度优势,所以多数情况下建议使用StringBuilder类。
然而应用程序要求线程安全的情况下,则不行使用StringBuffer类。

Java休眠(sleep)
sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获得的
CPU资源,以留一定时间给其他线程执行的机会。单位是ms。
import java.util.*;

public class SleepDemo{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(new Date() + "\n");
            Thread.sleep(1000*3); // 休眠3秒
            System.out.println(new Date() + "\n");
        }
        catch(Exception e)
        {
            System.out.println("Got an exception!");
        }
    }
}

Java方法(c/c++中的函数)
Java方法是语句的集合,它们在一起执行一个功能。

finalize()方法
Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize(),它用来清除回收对象。
在finalize()方法中,你必须指定在对象销毁时要执行的操作。
finalize()一般格式是:
protected void finalize()
{
    // 在这里终结代码
}
关键字 protected 是一个限定符,它确保 finalize() 方法不会被该类以外的代码调用。
当然,Java 的内存回收可以由 JVM 来自动完成。如果你手动使用,则可以使用上面的方法。

Java Scanner类
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
next() 与 nextLine() 区别
next():
    1、一定要读取到有效字符后才可以结束输入。
    2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
    3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
    4、next() 不能得到带有空格的字符串。

nextLine():
    1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
    2、可以获得空白。
    
    
类的继承    
1、通过 extends 关键字可以申明一个类是从另外一个类继承而来的。
单继承,不支持多继承,但支持多重继承。
2、继承可以使用 extends 和 implements 两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没有继承的两个关键字,
则默认继承Object(这个类在java.lang包中,所以不需要import)祖先类。
3、super和this关键字
通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this是指向自己的引用。
4、final关键字
final关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。

java学习笔记--从c/c++到java转变的更多相关文章

  1. Java学习笔记(十六)——Java RMI

    [前面的话] 最近过的好舒服,每天过的感觉很充实,一些生活和工作的技巧注意了就会发现,其实生活也是可以过的如此的有滋有味,满足现在的状况,并且感觉很幸福. 学习java RMI的原因是最近在使用dub ...

  2. Java学习笔记——浅谈数据结构与Java集合框架(第一篇、List)

    横看成岭侧成峰,远近高低各不同.不识庐山真面目,只缘身在此山中. --苏轼 这一块儿学的是云里雾里,咱们先从简单的入手.逐渐的拨开迷雾见太阳.本次先做List集合的三个实现类的学习笔记 List特点: ...

  3. 疯狂Java学习笔记(84)----------大约 Java 对象序列化,你不知道 5 事

    几年前,.当一个软件团队一起用 Java 书面申请.我认识比一般程序猿多知道一点关于 Java 对象序列化的知识所带来的优点. 关于本系列 您认为自己懂 Java 编程?其实,大多数程序猿对于 Jav ...

  4. 疯狂Java学习笔记(70)-----------挚爱Java

    与大家分享! 挚爱Java 10个使用Java最广泛的现实领域 写好Java代码的30条经验总结 Java字符串的substring真的会引起内存泄露么? Java内存的原型及工作原理深度剖析 Jav ...

  5. 零基础学Java之Java学习笔记(一):Java概述

    什么是Java? Java是一门面向对象编程语言,可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序. Java特点有哪些? 1.Java语言吸收了C++语言的各种优点,具有功能强大 ...

  6. 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词

    第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...

  7. java学习笔记(3):java的工作原理及相关基础

    一.运行机制 如上图所示,图中内容即为Java的运行机制: 1.我们一开始所编写的代码文件存储格式为(如text.java)文件,这就是源程序文件 2.在Java编辑器的作用下,也就是就行了编译,形成 ...

  8. Java学习笔记——浅谈数据结构与Java集合框架(第三篇、Map)

    桃李春风一杯酒,江湖夜雨十年灯 --寄黄几复 之前图上写错了,是Hashtable类.t是小写的,它是个很古老的类,以至于命名都没有那么规范.. HashMap HashMap就是存储key-valu ...

  9. 零基础学Java之Java学习笔记(二):Java快速入门

    提出要求: 开发一个 HelloWorld.java 程序,可以输出 "Hello,world!" 开发步骤: (1)将 Java 代码编写到扩展名为 HelloWorld.jav ...

  10. Java学习笔记(四)——google java编程风格指南(上)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

随机推荐

  1. form单选框

    form中的单选框: var resultStartRadio = new Ext.form.RadioGroup({ id : 'resultStartRadio', name :"for ...

  2. Vue echarts

    方式一.直接引入echarts 先 npm 安装 echarts npm install echarts --save // main.js import myCharts from './comm/ ...

  3. mycat入门--数据库分片

    配置mycat的用户名和密码: 连接mycat,就像连接mysql一样:

  4. vue scoped >>> & git conflict <<<<<<< HEAD

    vue scoped >>> & git conflict <<<<<<< HEAD Q: ???还有这操作 A: > > ...

  5. iOS-Mac上进行Fluttrt的安装

    1.进入网站进行Flutter 的下载,压缩包解放存放当一个目录 2.进行将Flutter添加到路径, vim ~/.bash_profile 点击i进行编辑,添加flutter存放的路径 expor ...

  6. SolidWorks装配体

  7. ImageMagick 安装 window10与错误总结

    一般默认安装最新的版本(目前是7.0.8),但是通过测试发现这个版本会报错(ImportError: MagickWand shared library not found.)所以建议安装 im6版本 ...

  8. Python 目录指引

    1.0 Python 基础整合 1.1 变量 1.2 数据类型 1.3 基础语法 1.4 文件操作 1.5 函数 1.6 生成器 1.7 迭代器 1.8 装饰器 1.9 字符集 2.0 Python ...

  9. python第十四天

    今日内容 1. 带参装饰器  |  wrapper 2. 迭代器 3. 可迭代对象 4.迭代器对象 5.for 迭代器 6.枚举对象 带参装饰器 是指装饰器为被装饰的函数添加新功能,需要外界的参数 - ...

  10. (双指针) leetcode 485. Max Consecutive Ones

    Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1, ...