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. 安装Cnario Player 3.8.1.156或其他版本时提示"Warning 4154. Adobe Flash Player 13 ...not correctly installed"

    错误提示 安装Cnario Player 3.8.1.156或其他版本时, 有时会出现如下提示: Warning 4154. Adobe Flash Player 13 ...not correctl ...

  2. Python之shutil模块(复制移动文件)

    用python实现将某代码文件复制/移动到指定路径下.场景例如:mv ./xxx/git/project1/test.sh ./xxx/tmp/tmp/1/test.sh (相对路径./xxx/tmp ...

  3. hadoop distcp 命令使用指导

    1.概述 DistCp(distributed copy)是一款被用于大型集群间/集群内的复制工具. 它使用MapReduce来实现其分布,错误处理和恢复以及报告.它将文件列表和目录扩展为map任务的 ...

  4. 【微信小程序】rpx尺寸单位的应用

    前言:微信小程序中的rpx尺寸单位用起来很方便.他是怎么实现计算的呢?(这里要注意的是,常规浏览器解析css代码的时候会把font-size小于12px的字体转成12px,不会让他小于12px的,而微 ...

  5. npm link & unlink

    npm link & unlink https://dev.to/erinbush/npm-linking-and-unlinking-2h1g

  6. 015模块——起别名

    1.import起别名:通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用 2.起别名的作用:①可以简化模块名字 import mmmmmmmmmmm3 as my_m3 pri ...

  7. AVIER Racing Drone App Privacy Policy

    Personal Data collected for the following purposes and using the following services: Device permissi ...

  8. pragma警告处理

    使用pragma消除警告 (绝不可强行消除,因为有可能是个运行时错误) #pragma clang diagnostic push #pragma clang diagnostic ignored & ...

  9. LCA Binary Lifting 倍增

    留坑 待填 一篇不错的CF博客 这篇纯讲理论的,比较清楚. 去CF上搜Gym algorithm 可以看到很多算法文章.

  10. GWAS后续分析:多基因风险评分(Polygenic Risk Score)的计算

    一.什么是多基因风险评分 传统的GWAS研究只计算单个SNP位点与表型之间的关联性,再用Bonferroni校正,通过给定的阈值,筛选出显著的SNP位点. 这样会存在两个问题,第一.Bonferron ...