我的Java之旅 第四课 JAVA 语言语法 基础
1 整型
java.math包中的 BigInteger 和 BigDecimal
for(variable:collection)statement示例:for(int element:coll)System.out.println(element); //打印数组每个元素数组拷贝 copyTo()数组排序 sort()
静态域(字段)和静态方法 ,属于类 而不属于类实例,类的所有实例共享一份数据静态常量,静态的变量用得很少,静态常量却使用比较多。静态方法 是一种不能向对象实例操作的方法。可以认为静态方法是没有this参数的方法构造器this(param,param) 利用this 可调用同一类的另一个构造器初始化块类初始时,首先运行初始化块,然后才运行构造器的主体部分。这种机制不是必需的,也不常见,通常,直接将初始化代码放在构造器中。对象析构与finalize方法Java有自动垃圾回收器,所以不支持析构器。当某些对象使用了内存之外的资源,可以为任何一个类添加finalize方法。该方法在垃圾回收器清除对象之前调用。在实际应用中,不要依赖于使用finalize方法回收任何短缺的资源,因为很难知道这个方法什么时候才能够调用 。包Java使用包将类组织起来。使用包的主要原因是确保类名的唯一性。所以,Sun公司建议将公司的域名倒序作为包名。从编绎器的角度来看,嵌套的包之间没有任何关系。导入 import java.util.* 或者 import java.util.Date;
super 关键字super() 调用父类的构造器 ;super.func() 调用父类 的方法final确保方法或者类不会在子类中改变语义.
接口中不能包含实例域或者静态方法,但可以包含常量 .接口实现多继承implements 是一个类实现一个接口用的关键字
内部类是定义在另一个类中的类.局部内部类可以在一个方法中定义局部类,局部类不能用public或private 进行声明,它的作用域被限定在声明该局部类的块中.所以对外部完全隐藏.匿名内部类假如只创建这个类的一个对象,就不必命名了.这种类被称为匿名内部类. 个人感觉像C#中的匿名类或者类初始化器.静态内部类有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象.此时,可以将内部类声明为static,以便取消产生的引用.
异常对象都是派生于Throwable类的一个实例,用户可以创建自己的异常类.Throwable下一层分为两个分支:Error和ExceptionError Java运行时系统的内部错误和资源耗尽错误.应用程序不应该抛出这种类型的对象.这种错误很少出现.Exception 设计程序时,需要关注Exception层次结构.它又分解为两个分支:一个派生于RuntimeException,由程序错误导致,如数组越界,类型转换错误等,另一个包含其他异常,像I/O错误这类问题.如打开不存在的文件等.Java规范将派生于以上两个类的异常称为未检查(unchecked)异常,所有其它异常称为已检查(checked)异常.异常捕获如果想传递一个异常,就必须在方法的首部添加一个throws说明符.断言assert 条件;和 assert 条件:表达式; (默认情况下被禁用。在eclipse中,必须开启相关设置。具体打开Window-preferences,选择Installed JREs,选择相关版本,点击edit,在Default VM arguments里面输入-ea就可以了。)在java中,给出了三种处理系统错误的机制a 抛出一个异常b 记日志c 断言 断言是致命的、不可恢复的错误;断言只用于开发和测试阶段。记录日志// 日志处理 包java.util.logging.Logger;java.util.logging.Level;
我的Java之旅 第四课 JAVA 语言语法 基础的更多相关文章
- 我的Java之旅 第六课 JAVA WEB 请求与响应
一.有关URL编码 1.在URL的规范中定义了一些保留字符,如:: / ? & = @ % 等,在URI中有它的作用.如果要在URI中包含这些字符,必须转码,即%字符后跟十六进 ...
- 我的Java之旅 第五课 JAVA 语言语法 集合
JAVA集合只能存放引用类型的的数据,不能存放基本数据类型,int 可以用 Integer代替. 一.集合接口 1. Iterable<E> 实现这个接口允许对象成为 "fo ...
- 我的Java之旅 第七课 JAVA WEB 会话管理
1.隐藏域 隐藏域其实不是Servlet/JSP的会话管理机制的内容,但它能实现简单的页面状态记录的效果. 2.Cookie Cookie类 setMaxAge() 设置有效期 ...
- JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块
JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买 ...
- [Java并发编程(四)] Java volatile 的理论实践
[Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...
- 我的Java之旅 第三课 从Applet到JSP
一.Applet Applet是一种特殊的Java程序,它本身不能单独运行(因为本身没有main()),需要嵌入在一个HTML文件中,借助浏览器或者appletviewer来解释执行. App ...
- JAVA学习第十四课(接口:implements及其基本应用)
接口: 我们知道抽象类中能够定义抽象方法,也能够定义非抽象方法.当一个抽象类中的方法都是抽象方法的时候,我们就能够定义还有一种表现方式:接口(interface),所以接口是一种特殊的抽象类 接口的出 ...
- 我的Java之旅 第八课 Servlet 进阶API、过滤器与监听器
1.Servlet.ServletConfig与GenericServlet 首次请求的顺序 => 生成HttpServletRequest与HttpServletRespon ...
- java学习笔记(四):import语法
Import 语法是给编译器寻找特定类的适当位置的一种方法. 创建一个Employee 类,包括四个实体变量姓名(name),年龄(age),职位(designation)和薪水(salary). p ...
随机推荐
- 微信小程序如何调用API实现数据请求-wx.request()
前言 微信小程序不存在ajax,那么它是如何实现数据请求功能的呢?在微信中提供了API的调用wx.request(OBJECT),这个是很不错的.下面就讲一下如何请求数据,简单到不行. wx.requ ...
- Java面试集合(二)
前言 大家好,给大家带来Java面试集合(二)的概述,希望你们喜欢 二 1.请问线程有哪些状态? 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked ...
- 《你不知道的javascript》读书笔记1
概述 放假读完了<你不知道的javascript>上篇,学到了很多东西,记录下来,供以后开发时参考,相信对其他人也有用. js的工作原理 引擎:从头到尾负责整个js的编译和运行.(很大一部 ...
- Sublime Text3自定义全部字体大小、字体类型和背景颜色
一.定义侧栏的背景颜色.字体大小和间距 Sublime Text3的Afterglow主题链接为:https://github.com/YabataDesign/afterglow-theme 1.按 ...
- xshell 会话管理器快捷键
有没有发现xshell6关闭左边的会话管理器以后,打开就比较麻烦 那么可以自定义一个快捷键来打开: 然后输入一个快捷键 类型选择 菜单-->然后找会话管理器 完事儿 也可以自定义其他快捷键.自己 ...
- Android面试题(3)
1. 请描述下Activity的生命周期. activity的生命周期方法有: onCreate().onStart().onReStart().onResume().onPause().onSto ...
- Android Studio中设置一个按钮的不同点击触发事件
my_day_model = (RelativeLayout) v.findViewById(R.id.my_day_model);my_day_pic = (ImageView) v.findVie ...
- Java_反射demo
package com.cnit.reflect; import java.lang.reflect.Field; import java.lang.reflect.Method; public cl ...
- NGINX 加载动态模块(NGINX 1.9.11开始增加加载动态模块支持)
NGINX 1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展.目前官方只有几个模块支持动态加载,第三方模块需要升级支持才可编译成模块. tinywan@tinyw ...
- QMessageBox的使用
/** 使用非静态API,属性设置API **/ QMessageBox msgBox; msgBox.setWindowTitle("Note");/** 设置标题 **/ ms ...