《java核心技术 卷1 基础知识》二

《Java核心技术 卷1 基础知识》第4-5章

在Java中没有类就无法做任何事情

new操作符的返回值是一个引用

在Java中,如果使用一个未初始化的指针,运行系统会产生一个运行时错误。

Date 用来表示时间点
LocalDate 日历表示法
同时不推荐使用Date类来处理日历
推荐使用LocalDate来处理日历

每一个拥有名字的类都会被编译生成对应的class文件

所有的Java对象都是在堆中构造的,构造器总是随着new操作符一起使用

在Java中,所有的方法都必须在类的内部定义,但并不表示它们是内联方法,是否将某个方法设置为内联方法是Java虚拟机的任务

建议使用类名来调用静态方法

每个类都可以有一个main方法,这是一个常用于对类进行单元测试的技巧

要完整描述一个方法,需要给出方法名以及参数类型。这也叫做方法的签名
返回类型不是方法签名的一部分

默认初始化:
数值为0 布尔值为false 对象信引用为null

可以为任何一个类添加finalize方法。该方法将在垃圾回收器清除对象之前调用。
在实际应用中,不要依赖于finalize方法回收任何短缺的资源,这是因为很难知道这个犯法什么时候才能够调用

不允许扩展的类被称为final类

包含一个或者多个抽象方法的类本身必须被声明为抽象的

类即使不含有抽象方法,也可以将类声明为抽象类

抽象类不能被实例化

Java中的protected对所有子类和同一个包中的所有其他类都可见,与C++中的保护机制稍有不同
Java中的protected的安全性较差

Object类是所有类的超类
Object类型的变量可以引用任何类型的对象
在Java中只有基本类型不是对象,例如数值、字符和布尔类型的值都不是对象

Object的equals方法:用于检测一个对象是否等于另一个对象,即判断这两个对象是否具有相同的引用
Object的hashCode方法,由对象导出哈希值,即返回对象的散列码
Object的toString方法,返回对象值的字符串
Object的getClass方法,返回包含对象信息的类对象
Object的getName方法,返回这个类的名字
Object的getSuperclass方法,返回这个类的超类信息

尽管Java允许在运行时确定数组的大小,但没有完全解决运行时动态更换数组的问题,
一旦确定了数组的大小,改变它就太不容易了,于是就有了ArrayList类,它具有自动调节数组容量的功能

ArrayList是一个使用类型参数的泛型类,为了指定数组列表保存的元素对象类型,需要用已对尖括号将类名括起来加在后面
类似于 C++的vector模板,都是泛型类型

但ArrayList的元素访问比较复杂,需要使用set或者get实现改变或者访问数组元素的操作

所有的基本类型都有一个与之对应的类,这些类称为包装器
自动装箱或者自动打包:指基本类型自动转换为对应的类的实例
装箱和拆箱是编译器认可的,而不是虚拟机,编译器在生成类的字节码时,插入必要的方法调用,虚拟机只是执行这些字节码

java设计者还将一些基本方法放置在包装器中,如将字符串转换为整形
int x = Integer.parseInt(s);
这里与Intger对象没有任何关系,parseInt是一个静态方法,但Integer类是放置这个方法的一个好地方。

lambda表达式就是一个代码块,以及必须传入代码的变量规范
即 参数,箭头(->)以及一个表达式。
()->代码块;
但有时()会被省略,但不建议省略。

对于只有一个抽象方法的接口,需要这种接口的对象时,就可以提供一个lambda表达式的接口,这种接口称之为函数式接口。
例子:
????Comparator就是只有一个方法的接口,所以可以提供一个lambda表达式的值
????Arrays.sort(words,(first,seccond)->first.length()-second.length())

原文地址:https://www.cnblogs.com/ASE265/p/12236824.html

时间: 2024-08-28 14:12:02

《java核心技术 卷1 基础知识》二的相关文章

Jquery知识点总结(二)

JQuery遍历1 传统的for   2 通过each对象调用callback函数 callback回调函数 /*    * JQ提供的技术,实现遍历    * JQ对象函数调用 each(参数 callback) 参数:函数 回调函数    */    //JQ对象,调用函数each(遍历),传递匿名函数    //JQ自己调用,每遍历一次数组,自动调用一次匿名函数    //匿名函数中参数,i是索引,element是遍历到的元素    $options.each(function(i,ele

jquery知识点总结二

*清空元素* $('ul').empty() *复制节点* $li.clone().appendTo("ul"); 替换节点 $li.replaceWith("<li>哈哈</li>");---替换某个节点 ("<li>哈哈</li>"). replaceAll($li); ---------- *追加CSS样式* **addClass()---注意点attr("class名称"

jquery知识点梳理

jQuery知识点梳理 一.              jquery选择器 基本选择器 ID选择器 类选择器 标记选择器 分组选择器 通配符选择器 层次选择器 $(“ancestor descendent”):祖先后代选择器    空格 $(“parent > child”):父子选择器   大于 $(“prev + next”):相邻后兄弟元素选择器   加号 $(“prev ~ siblings”):所有后兄弟元素选择器  波浪线 过滤选择器:基本过滤选择器 :first.:last.:od

琐碎的知识点(二)

1.绑定设置时间格式 <%#Eval("time", "{0:yyyy-MM-dd}")%> <%#DateTime.Parse(Eval("time").ToString()).ToString("yyyy-MM-dd")%> 2.Repeater1.Items.Count 是指Repeter1的数据绑定条数 <%#this.rptnewstraining.Items.Count == 0 ?

.NET知识点总结二(笔记整合)

19.什么是类型? 用来定义某一种数据在内存里开辟空间的大小,还可以预置操作此种类型数据的相关方法 20.this关键字在方法中使用时所代表的含义 this指的是当前类的对象,或者父类的类的对象(base只能指向父类的对象) 21.里氏替换原则 子类替换父类所在的位置 22.C#中的数据类型 值类型 简单类型(数字类型(int,short,long,float,double),字符(char),逻辑值(bool)),结构体(struct),枚举(enum) 引用类型 字符串(string),数组

jQuery 入门教程(二): 基本语法

学习jQuery之前需要你有下面几个方面的基本知识 HTML CSS JavaScript jQuery 的基本语法 $(selector).action() $ 符合定义这是一个jQuery语句 (selector) 用来选择某个HTML元素,其语法和CSS的selector语法一样. action() 定义操作该HTML元素的方法. 比如: $(this).hide() – 隐藏当前元素. $("p").hide() – 隐藏所以 <p> 元素. $(".te

20150225 IMX257 设备驱动模型之sysfs文件系统知识点整合(二)

20150225 IMX257 设备驱动模型之sysfs文件系统知识点整合(二) 2012-02-25 李海沿 前天我们实现了一个简单的sysfs的kobject的驱动程序,可是有没有发现很多东西都不懂,原因就是在我们对sysfs和kobject的工作原理不懂,虽然我一直不提倡整天接触那些乏味的知识点,也一直不喜欢谈论太多的知识点,但是有的时候,理论知识是实践的基础,有些基础的知识点还是不得不提,下面进入正题. 一.sysfs介绍 在linux2.6内核以后,引入了一个新的文件系统sysfs,它

在angular中结合使用jquery的生成二维码插件

最近在开发项目中,需要在ionic框架中使用到jquery的生成二维码功能的插件,起初我直接在templates中写js代码: 发现这段代码根本就不会执行,原因是js代码必须要在该模块的作用域范围内才能生效,于是把这段代码该模块对应的controller中即可: 在学习angular中永远不要忘记作用域这件事.哈哈,看来学习编程的过程中有时需要抛开传统的思维方式才行啊.虽然只是一个小小的问题,但对于初学angular的我还是纠结了好一阵.

jquery效果(二)

jQuery animate() 方法用于创建自定义动画.语法:$(selector).animate({params},speed,callback);必需的 params 参数定义形成动画的 CSS 属性.可选的 speed 参数规定效果的时长.它可以取以下值:"slow"."fast" 或毫秒.可选的 callback 参数是动画完成后所执行的函数名称. $("button").click(function(){ $("div&q

jQuery生成QRCode二维码

<!DOCTYPE html> <html> <head>   <meta charset="utf-8">   <title>jQuery生成QRCode二维码</title> </head> <body> <!-- 存放二维码 --> <div id="qrcode-1"></div> <!-- 存放二维码 --> &l