java学习第六天
目标
1、 块
2、 GC(了解)
3、 package import
4、 封装
一、块
{} 分类
1、普通块
作用: 组织代码、解决变量的作用域、节约了内存。
在同一个作用域内,不能声明同名的变量。
2、静态块 : static {}
使用类时,才会加载,仅加载一次
执行的结果为:
3、构造块: {}
先于构造器执行,每创建一个对象执行一次。
二、GC
Garbage collection 垃圾回收机制
1、程序员无权调用垃圾回收器。
2、程序员可以通过System.gc()。通知GC运行,但是JAVA规范并不能
保证立刻运行。
3、finalize方法,是JAVA提供给程序员用来释放对象或资源的方法,
但是尽量少用。
三、package
工作时,每个类必须存在包。
1、作用
组织管理、避免重名
2、命名
公司域名倒写com.bjsxt.功能|模块–>注意全部为小写
注意位置: 首行、第一行,类之前
注意:
1)、不能时操作系统关键字和java关键字
CON,PRN,AUX,CLOCK$,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1
2)、不要定义与jdk同名包同名类
3、完整路径 (全限定名)
包名.类名àcom.bjsxt.oop.TestPk
java.util.Scanner
4、JDK常用包
java.langà语言包
java.utilà工具包
java.io àIO流
java.sqlà操作数据库
5、import 导入类
方便使用类,省略包名,不用每次写完整路径
1)、作用:
导入后: 省略完整路径
2)、不用导入的包
以下包下类不用导入(自动导入,就近原则)
1)、同包
2)、java.lang
3)、*
如果使用了一个包下的多个类,
可以使用一个限定符 *
4)、不能同时导入同名的类
当遇到多个包下同名的类,一个导入,其他的写完整路径。
5)、import static
导入一个类下静态属性、静态方法 -->必须存在访问权限
四、封装 encapsulation
1、目的
高内聚低耦合达到隐藏内部细节
2、可见性 (访问权限)
a)、public 公开的王健林的个人信息
b)、protected受保护遗产儿子使用à在子类中且子类自己使用
c)、default 默认的宝马儿子家人
b)、private 私有的王健林的情书
访问权限依次缩小:
本类 private default protected public
同包类(包括子类) default protected public
不同包的子类 protected public
不同包的其他类 public
1)、类: public default
2)、方法: privatedefault protected public
3)、属性:privatedefault protected public
3、javabean( PO BO VO)
1)、作用: 封装的私有数据,对外提供大量的公共setter(存储)与getter(获取)访问器,少量的其他方法。
2)、属性私有化
3)、访问器: setXxxgetXxx
命名规范
不允许出现第一个字母大写第二个字母小写的情况。
示例如下:
4、单例设计模式
目标: 一个类对外只有一个对象。
|
packagecom.bjsxt.encapsulation; /** * 饿汉式单例设计模式 * 1、构造器私有化-->避免外部new调用构造器 * 2、对外提供公共的静态方法获取一个对象 * 3、编写一个静态属性,实例化该对象 * @author Administrator * */ publicclassEagerSingleton { //提供静态属性,实例化该对象 privatestaticEagerSingletones =newEagerSingleton(); //构造器私有化 privateEagerSingleton(){ } //对外提供公共的静态方法获取该对象 publicstaticEagerSingletongetInstance(){ returnes; } } |
|
packagecom.bjsxt.encapsulation; /** * 懒汉式单例设计模式 * 1、构造器私有化-->避免外部new调用构造器 * 2、对外提供公共的静态方法,第一次获取时创建对象 * 3、编写一个静态属性,不实例化该对象 * @author Administrator * */ publicclassLazySingleton { //提供静态属性,不实例化该对象 privatestaticLazySingletones ; //构造器私有化 privateLazySingleton(){ } //对外提供公共的静态方法获取该对象 publicstaticLazySingletongetInstance(){ if(es ==null){ //如果第一次访问 es =newLazySingleton(); } returnes; } } |
java学习第六天的更多相关文章
- java学习第六天2020/7/11
一. 今天先是对昨天的知识进行了练习: package 数组; import java.util.Random; import java.util.Arrays; public class 随机数排序 ...
- java学习第六天集合框架.day15
Set接口 Set集合存储特点: 不允许元素重复 不会记录元素的添加先后顺序 Set只包含从Collection继承的方法,不过Set无法记住添加的顺序,不允许包含重复的元素.当试图添加两个相同元素进 ...
- 学习java的第六天
一.今日收获 1.开始了学习手册第二章的学习 2.了解了java里的常量与变量以及数据类型,与c语言的内容类似 二.今日难题 1.都是基础知识,没有什么难题 三.明日目标 1.继续学习java学习手册 ...
- JAVA学习前十天:小结、面向对象之”扑克牌“例子
2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- Java学习心得之 HttpClient的GET和POST请求
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...
随机推荐
- jQuery性能优化指南(转载)
现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, ...
- Entity Framework 复杂类型
为了说明什么是复杂属性,先举一个例子. public class CompanyAddress { public int ID { get; set; } public string Compan ...
- LZMA demo挑选使用备忘
一.源码下载:http://sourceforge.net/projects/sevenzip/ 二.各种EXE及其功能 代码里面有很多的dsw工程,功能不一,size不一,需要挑选合适的加入到自己的 ...
- 如何在Quagga BGP路由器中设置IPv6的BGP对等体和过滤
在本教程中,我们会向你演示如何创建IPv6 BGP对等体并通过BGP通告IPv6前缀.同时我们也将演示如何使用前缀列表和路由映射特性来过滤通告的或者获取到的IPv6前缀. 拓扑 服务供应商A和B希望在 ...
- 大过年的,不下班的,上个Android文件操作类(内部存储和sd卡均可)
package com.kkdiangame.UI.res; import java.io.ByteArrayOutputStream; import java.io.File; import jav ...
- winform的comboBox使鼠标滑轮修改值失效
目标: winform窗体很多combobox下拉框,当他们其中的一个获得焦点的时候,如果滚动鼠标就会改变下拉框的值,要实现让鼠标滚轮不对下拉框的值造成影响 如下代码直接拷贝粘贴,不用修改 方法一: ...
- mysql.default_socket 和 mysqli.default_socket
php.ini 里面mysql.default_socket 和 mysqli.default_socket 设置必须要和mysql里面的值一样,否则连接mysql会提示错误
- MongoDB常用操作一查询find方法db.collection_name.find()
来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...
- java基础之 异常
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception. Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继 ...
- Linux下进程的建立
Linux下进程的建立 我们都知道,进程就是正在执行的程序.而在Linux中,可以使用一个进程来创建另外一个进程.这样的话,Linux的进程的组织结构其实有点像Linux目录树,是个层次结构的,可以使 ...