说明,第一章名字叫“快速浏览”,简要的过了一般Java中的这几个基本概念和技术。虽然之前有自学过Java,也做了一段时间Android开发,但是对这里的一些基础内容还是之前不知道的和不很清楚的内容,简单做个笔记。

1 方法的几个概念

1 public static void main(String[] args)
2 {
3 //...
4 }

修饰符:public和static;
返回类型:void;
方法签名:方法名和参数列表,即main和String[] args;
方法头:修饰符、返回类型和方法签名,即public static void main(String[] args);
方法体:{}之间的代码;
方法声明:1-4行全部。

2 枚举类型

每个枚举常量都是一个指向其值所对应的对象的静态字段,而非整型数值。这个和C、C++中的枚举类型有些区别,而C#中的枚举类型是怎样的,记不甚清矣。

3 for循环

在初始化部分声明循环变量是for特有的,其他控制流语句不允许在语句内部声明变量(这个没注意过,也没试过)。而循环变量的作用域是循环体内。

4 创建对象和静态方法

实例化,分配到栈的内存区域;所有对象都是通过引用访问的。静态方法不能直接访问非静态成员,因为没有特定的对象,即this引用。

5 String和printf

String不是字符数组,不能将字符数组赋值给String引用,可以将字符数组作为参数给String构造方法创建String对象。String对象是只读或不可变的!

System.out.printf("The value of pi is % .3f %n",Math.PI);

这里的%n不等同于\n,会因操作系统而异!(这个一直不知道。)

6 覆盖override

做法是实现和超类具有相同方法签名和返回类型的方法。这里做了简单的实验,代码如下:

 1 class A
 2 {
 3     public void println()
 4     {
 5         System.out.println("A");
 6     }
 7 }
 8
 9 class B extends A
10 {
11     public void printlnB()
12     {
13         System.out.println("B");
14     }
15 }
16
17 class C
18 {
19     public static void main(String[] args)
20     {
21         new B().println();
22     }
23 }

(1)这样的代码,直接编译执行,没有问题,显示的结果当然是A;
(2)把Class B的printlnB改成println,编译执行,也没有问题,显示的结果是B,这很好理解;
(3)接上,把Class B的println的public改成private,编译执行就会有编译错误了,报错截图如下图:

(4)接上,把new B().println();注释掉,编译报的上半部分的错误;
(5)接(3),把new B().println(),改成new B().super.println()和new B().super().println()都没法通过编译(当然这样做可能没有什么意义,全当实验了)。
这里面还是有些东西可以去研究的,等看了专门的章节后在去实验。

7 注解

就是用@override什么的,书中给出了这种注解,当然没说清楚,暂时马克一下:

@Reviewed(reviewer = "Joe Smitch", date = 20050331)
// ... 

@interface Reviewed
{String reviewer();int date();
}

虽然在Android代码中常见到@Override,但一直没怎么注意,还有这种高级用法,怎么用,以后再看。

《Java程序设计语言(第4版)》阅读笔记(1)相关推荐

  1. Java程序设计语言(基础篇)机械工业出版社 原属第10版

    链接:https://pan.baidu.com/s/1txoB3sk0SdT1u8RpS2x-Kg  提取码:rxkd  Java程序设计语言(基础篇)机械工业出版社 原属第10版 外加一本Java ...

  2. 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言

    <非计算机专业JAVA程序设计语言> 一.主要目标和主要内容: 该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一.该课程的前导课程是<大学计算机基础> ...

  3. 《Effective Java》中文版第3版 读书笔记

    评论中有电子档资源哦  ^_^ 第1章引言 第2章创建和销毁对象 第1条:用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势在于,它们有名称.  静态工厂方法与构造器不同的第二大优势在于, ...

  4. C程序设计语言第二版·新版,C程序设计语言(第2版·新版) PDF扫描版[19MB]

    C程序设计语言(第2版·新版) 内容简介: 本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作.全面 ...

  5. C程序设计语言(第2版•新版)电子书pdf下载

    C程序设计语言(第2版•新版)下载链接: https://pan.baidu.com/s/1cQBvkOCaABO8ZWr9vWegdA 提取码获取方式:关注下面微信公众号,回复关键字: 1133

  6. 【博文汇总】Java程序设计语言

    基础 深入理解 Java 的 Hello World 程序 Java字符串使用==进行比较实验测试与分析 Java在输出时显示System.out.print的所在类的行信息. 一个完整的Java版的 ...

  7. 软件设计师-JAVA程序设计语言

    Java语言简介: 背景 1991年 ,SUN MicroSystem公司的 Jame Gosling. Bill Joe等人 ,在电 视.控制烤面包箱等家用消费类电子产品上进行交互式操作的开发,开始 ...

  8. java程序设计 第2版 唐大仕_《Java程序设计(第2版)》唐大仕 源代码

    [实例简介] <Java程序设计(第2版)>唐大仕 清华大学出版社 北方交通大学出版社 [实例截图] [核心代码] bbe30560-8619-4a35-a024-50004cc5c8e2 ...

  9. c#程序设计语言杜松江版_当前最流行的10款编程语言,你会哪种?

    现在市场上对计算机方面的人才需求量非常大,不过真正需要的是那些有技术的高端人才. 下面就是当前流行的编程语言,来看看都用了那些吧! (PS:排名仅代表作者观点,如有不同观点,请务必坚持自我哦~~~). ...

  10. c++学习书籍推荐《C++程序设计语言(特别版)》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++程序设计语言(特别版•十周年中文纪念版)>编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话.1979年,Biarn ...

最新文章

  1. Markdown中数学公式练习
  2. vscode中装js解释器_h5学习记录(1)--vscode配置js开发环境
  3. 大数据学习-python通过Pyhive连接hive数据库
  4. 年近八旬教授曾一次性捐款8000多万,今获省杰出贡献奖!
  5. Python与机器视觉(x)图像差分-图像相减
  6. ReportViewer教程(10)-给报表分组合计
  7. Android 仿知乎创意广告
  8. [JavaScript]高效 JavaScript
  9. java sort 字符串_java字符串怎么排序
  10. oracle 中(+) 是什么意思
  11. 用灌水法解NOIP2017提高组D2第一题:奶酪
  12. ubuntu基本操作命令超全(上)
  13. vscode无法跳转到定义的问题
  14. unity使ui面向镜头_pihqcam面向相机的软件ui
  15. 学习笔记之CSS深入理解(慕课网 张鑫旭主讲)
  16. 程序员是一群什么人?
  17. CryENGINE 3游戏引擎新特性完全详解
  18. 5G单灯控制网关 智能照明
  19. 服务器虚拟化技术简介,服务器虚拟化技术简介
  20. Sparrow算法篇 从日期取交集到思维模式-2

热门文章

  1. nginx伪静态php如何配置文件,nginx实现thinkphp伪静态的配置例子
  2. Markdown 编写示例
  3. OrderOnline——功能需求
  4. Sqoop 是什么?(二)
  5. 在WPF里面实现以鼠标位置为中心缩放移动图片
  6. KeyMob--最智能的移动广告聚合平台
  7. 【转】如何调试bash脚本
  8. RFGSD DF DS
  9. COM 组件设计与应用(二)——GUID 和 接口
  10. 【新人c语言强化训练 】 c 语言强化练习2。1 数据对齐[zt]