《Java程序设计语言(第4版)》阅读笔记(1)
说明,第一章名字叫“快速浏览”,简要的过了一般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)相关推荐
- Java程序设计语言(基础篇)机械工业出版社 原属第10版
链接:https://pan.baidu.com/s/1txoB3sk0SdT1u8RpS2x-Kg 提取码:rxkd Java程序设计语言(基础篇)机械工业出版社 原属第10版 外加一本Java ...
- 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言
<非计算机专业JAVA程序设计语言> 一.主要目标和主要内容: 该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一.该课程的前导课程是<大学计算机基础> ...
- 《Effective Java》中文版第3版 读书笔记
评论中有电子档资源哦 ^_^ 第1章引言 第2章创建和销毁对象 第1条:用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势在于,它们有名称. 静态工厂方法与构造器不同的第二大优势在于, ...
- C程序设计语言第二版·新版,C程序设计语言(第2版·新版) PDF扫描版[19MB]
C程序设计语言(第2版·新版) 内容简介: 本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作.全面 ...
- C程序设计语言(第2版•新版)电子书pdf下载
C程序设计语言(第2版•新版)下载链接: https://pan.baidu.com/s/1cQBvkOCaABO8ZWr9vWegdA 提取码获取方式:关注下面微信公众号,回复关键字: 1133
- 【博文汇总】Java程序设计语言
基础 深入理解 Java 的 Hello World 程序 Java字符串使用==进行比较实验测试与分析 Java在输出时显示System.out.print的所在类的行信息. 一个完整的Java版的 ...
- 软件设计师-JAVA程序设计语言
Java语言简介: 背景 1991年 ,SUN MicroSystem公司的 Jame Gosling. Bill Joe等人 ,在电 视.控制烤面包箱等家用消费类电子产品上进行交互式操作的开发,开始 ...
- java程序设计 第2版 唐大仕_《Java程序设计(第2版)》唐大仕 源代码
[实例简介] <Java程序设计(第2版)>唐大仕 清华大学出版社 北方交通大学出版社 [实例截图] [核心代码] bbe30560-8619-4a35-a024-50004cc5c8e2 ...
- c#程序设计语言杜松江版_当前最流行的10款编程语言,你会哪种?
现在市场上对计算机方面的人才需求量非常大,不过真正需要的是那些有技术的高端人才. 下面就是当前流行的编程语言,来看看都用了那些吧! (PS:排名仅代表作者观点,如有不同观点,请务必坚持自我哦~~~). ...
- c++学习书籍推荐《C++程序设计语言(特别版)》下载
百度云及其他网盘下载地址:点我 编辑推荐 <C++程序设计语言(特别版•十周年中文纪念版)>编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话.1979年,Biarn ...
最新文章
- Markdown中数学公式练习
- vscode中装js解释器_h5学习记录(1)--vscode配置js开发环境
- 大数据学习-python通过Pyhive连接hive数据库
- 年近八旬教授曾一次性捐款8000多万,今获省杰出贡献奖!
- Python与机器视觉(x)图像差分-图像相减
- ReportViewer教程(10)-给报表分组合计
- Android 仿知乎创意广告
- [JavaScript]高效 JavaScript
- java sort 字符串_java字符串怎么排序
- oracle 中(+) 是什么意思
- 用灌水法解NOIP2017提高组D2第一题:奶酪
- ubuntu基本操作命令超全(上)
- vscode无法跳转到定义的问题
- unity使ui面向镜头_pihqcam面向相机的软件ui
- 学习笔记之CSS深入理解(慕课网 张鑫旭主讲)
- 程序员是一群什么人?
- CryENGINE 3游戏引擎新特性完全详解
- 5G单灯控制网关 智能照明
- 服务器虚拟化技术简介,服务器虚拟化技术简介
- Sparrow算法篇 从日期取交集到思维模式-2