博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Java程序设计语言(第4版)》阅读笔记(1)
阅读量:6817 次
发布时间:2019-06-26

本文共 1661 字,大约阅读时间需要 5 分钟。

说明,第一章名字叫“快速浏览”,简要的过了一般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 A10 {11     public void printlnB()12     {13         System.out.println("B");14     }15 }16 17 class C18 {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,但一直没怎么注意,还有这种高级用法,怎么用,以后再看。

转载地址:http://roszl.baihongyu.com/

你可能感兴趣的文章
换个姿势学数学:二次函数与拆弹部队
查看>>
React-事件机制杂记
查看>>
构建一个运行在Azure虚拟机上的MySQL Spring Boot应用程序
查看>>
独家专访Jeff Dean:TensorFlow不追求一家独大
查看>>
zabbix修改之中文主机名
查看>>
Golang的fallthrough与switch的坑
查看>>
window.opener()方法
查看>>
gitlab 2.2和更高版本升级到2.7
查看>>
puppetmaster
查看>>
openldap ACL设置
查看>>
陕西互联网出路何在?
查看>>
JUnit注解与hamcrest
查看>>
Struts2学习(三):namespace属性的使用
查看>>
首部分享经济发展报告发布 参与分享经济人数已超5亿
查看>>
Jquery文字一行一行向上滚动
查看>>
SHOW OPEN TABLES语法
查看>>
.net中使用GDI+提高gif图片画质代码
查看>>
linux文件的三个主要的修改时间
查看>>
加快SCVMM虚拟机部署
查看>>
【自定义Android带图片和文字的ImageButton】
查看>>