目标

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学习第六天的更多相关文章

  1. java学习第六天2020/7/11

    一. 今天先是对昨天的知识进行了练习: package 数组; import java.util.Random; import java.util.Arrays; public class 随机数排序 ...

  2. java学习第六天集合框架.day15

    Set接口 Set集合存储特点: 不允许元素重复 不会记录元素的添加先后顺序 Set只包含从Collection继承的方法,不过Set无法记住添加的顺序,不允许包含重复的元素.当试图添加两个相同元素进 ...

  3. 学习java的第六天

    一.今日收获 1.开始了学习手册第二章的学习 2.了解了java里的常量与变量以及数据类型,与c语言的内容类似 二.今日难题 1.都是基础知识,没有什么难题 三.明日目标 1.继续学习java学习手册 ...

  4. JAVA学习前十天:小结、面向对象之”扑克牌“例子

    2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...

  5. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  6. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  7. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  8. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  9. Java学习心得之 HttpClient的GET和POST请求

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...

随机推荐

  1. 使用cnblogs.com的用户体验和提出来的建议

    1.是否提供良好的体验给用户(同时提供价值)? 我是很久以前就有CN的账号了的,因为这个网站有很多有用的信息,和比较活跃的论坛.很多不懂的问题可以求助上面的大神.但是,我第一次登陆主页面的时候我是懵逼 ...

  2. 使用js给页面显示的图片添加水印效果

    功能描述:使用Jquery 给页面的图片添加 版权信息水印. 这里的水印并不是真的把每一张图片上都添加了水印.而是在图片的上方添加了一个层,层中包含了水印图片效果就像是图片上加了水印. 功能原理:1, ...

  3. "LC.exe" exited with code -1 错误

    当打开一个VS程序时出现"LC.exe" exited with code -1错误,解决方法是: 删除licenses.licx文件即可

  4. S1:变量

    接触JS一段时间了,但总感觉不得要领,技术得不到提升,翻来覆去,决定对基础知识做一次系统的整理,要坚持每一天都有新的收获 ! 变量,即通过一个名字将一个值关联起来,以后通过变量就可以引用到该值,比如: ...

  5. g++默认支持c++11标准的办法

    //第一种,直接包含在源程序文件中,如第一行代码所示 #pragma GCC diagnostic error "-std=c++11" #include <iostream ...

  6. lucene 查询的使用

    各种查询方式一:使用QueryParser与查询语法.(会使用分词器) MultiFieldQueryParser查询字符串 ------------------------> Query对象 ...

  7. URAL 1519 基础插头DP

    题目大意: 给定一个图,一部分点'*'作为障碍物,求经过所有非障碍点的汉密尔顿回路有多少条 基础的插头DP题目,对于陈丹琦的论文来说我觉得http://blog.sina.com.cn/s/blog_ ...

  8. java基础之 http

    HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求 ...

  9. php操作文件(读取写入文件)

    一,PHP如何读取文件 PHP读取文件可以读取当前服务器或远程服务器中的文件.其步骤是:打开文件.读文件和关闭文件. 1,PHP如何打开文件 使用PHP函数fopen()打开一个文件,fopen()一 ...

  10. HTML5实战教程———开发一个简单漂亮的登录页面

    最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...