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;

}

}

时间: 2024-11-03 21:33:37

java学习第六天的相关文章

python学习第六天 - 列表(数组)

python当中的数组与java,c不太一样,数组相当于一个列表,一个列表中可以有,整型,字符串,浮点型等等. 定义格式如下: >>> list = [123,'小甲鱼',3.14] >>> list [123, '小甲鱼', 3.14] 介绍几种向列表中添加元素的方法 1.append() :向列表中增加新的元素,一次只能添加一个元素,默认添加到列表的末尾 >>> list.append('黑夜') >>> list [123, '

2016最新Java学习计划

一.Java学习路线图 二.Java学习路线图--视频篇 六大阶段 学完后目标 知识点 配套免费资源(视频+笔 记+源码+模板) 密码        第一阶段 Java基础 入门 学习周期: 35天 学完后目标: 1.可进行小型应用程序开发 2.对数据库进行基本的增删改查管理 市场价值:¥5000 计算机基础知识 计算机基础.DOS常用命令.Java概述.JDK环境安装配置.环境变量配置.Java程序入门 1.2015年Java基础视频-深入浅出精华版(强烈推荐) 2.历经5年锤炼(适合初学者入

Java学习第5天

---恢复内容开始--- 今天是2016年5月4号,今天是学习JAVA学习的第5天!今天的主要学习任务是对二维数组的学习. P96 3.7.5 二维数组 动态初始化 数据类型 数组名称 [][]=new 数据类型[行数][列数]   ; 如,int a[][]=new int[7][8]; 静态初始化 数据类型 数组名称 [][]=new 数据类型 [][]{ {值,值,...},{值,值,...},...}; 如,int a[][]=new int[][]{ {1,2,3},{54,6},{8

Java学习-008-判断文件类型实例

此文源码主要为应用 Java 如何判断文件类型的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-2 23:02:00,请知悉. Java 判断文件类型源码如下所示: 1 /** 2 * @function 判断文件类型 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java assertFileType

疯狂JAVA学习计划

? Java_StudyPlane ?2015/2/20 ????????大年初二 ????????雨天 1.5小时为1个课时. JAVA学习进度表

java学习教程之代码块

学编程吧java学习教程之代码块发布了,欢迎通过xuebiancheng8.com来访问 java中的代码块包括下面几种: 1.普通代码块 2.构造代码块 3.静态代码块 1.普通代码块很简单看下面这个例子: public class Test{ public static void main(String args[]){ { //此处就是普通代码块,普通代码块中的代码按顺序执行 System.out.println("hello"); } } } 2.构造代码块 public cl

Java学习作业(14.4.21)

前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. 1 import java.io.*; 2 import java.lang.*; 3 4 5 public class Home { 6 7 public void reName(String path, String from, String to) { 8 File f = new File(path); //声明File对象,用于导入修改路径 9 Fi

【分享】不知道怎么学java?java学习路线送上!让你不再迷茫!

学习Java之前,先别急,静下心来好好想想:1)你对学习Java是否有兴趣?2)你是否能静下心来坚持不懈地学习?嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣.而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看(帖子后面我会分享一些java学习教程)Java体系涉及到三个方面:J2SE,J2EE,J2ME(KJAVA).(1)J2SE--Java 2 Platform Standard Edition,即JDK,它是三者的基础,属于桌面级应用开发:

Java 学习路线建议

在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬.2.下面对于[第一部分]的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用于处于待业状态,准备转行Java的同学. 如果你是在校学生,务必要在学好基础(比如计算机系统.算法.编译原理等等)的前提下,再考虑去进行下面的学习.第一部分:对于尚未做过Java工作的同学,包括一