java学习第六天

Posted 鱼鱼疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习第六天的主要内容,如果未能解决你的问题,请参考以下文章

20165236 第六周Java学习总结

java学习第六天

java学习第六周

“全栈2019”Java第六十一章:如何实现接口?

第六周java学习总结

第六周学习总结