当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

如何处理静态域?总结很全面速看!读《Java核心技术》---包package(静态导入、包作用域、类路径)

静态导入

import 语句不仅可以导人类,还增加了导人静态方法和静态域的功能。

import static java.lang.System.*;

就可以使用 System 类的静态方法和静态域,而不必加类名前缀:

out.println("Goodbye, World!"); // i.e., Sy 静态域

exit(0); ., Sy 静态方法

还可以导入特定的方法或域: import static java.lang.Sy; (这是导入域吧?)

将类放入包中

package com.david.corejava; public class Employee{ ... }

没有package语句,默认default package (没有名字的包)

编译器对.java文件进行操作,解释器加载类

import static java.lang.System.*; public class PackageTest{ public static void main(String[] args){ Employee harry = new Employee("Harry Hacker",50000,1989,10,1); (5); out.println("name=" + () + ",salary = " + ()); } } package com.david.corejava; import java.time.*; public class Employee{ private String name; private double salary; private LocalDate hireDay; public Employee(String name, double salary, int year, int month, int day){ = name; = salary; hireDay = LocalDa(year,month,day); } public String getName(){ return name; } public double getSalary(){ return salary; } public LocalDate getHireDay(){ return hireDay; } public void raiseSalary(double byPercent){ double raise = salary * byPercent / 100; salary += raise; } }

包作用域

如果没有指定 public 或 private , 这 个部分(类、方法或变量)可以被同一个包中的所有方法访问,对于类来说,这种默认是合乎情理的。但是, 对于变量来说就有些不适宜了, 因此变量必须显式地标记为 private, 不然的话将默认为包可见。显然, 这样做会破坏封装性。

包密封 ( package sealing) :果将一个包密封起来, 就 不能再向这个包添加类了。

类 路 径 (class path)

类存储在文件系统的子目录中。类的路径必须与包名匹配。类路径是所有包含类文件的路径的集合。

为了使类能够被多个程序共享,需要做到下面几点:

1 ) 把类放到一个目录中, 例如 /home/user/classdir(基目录)。需要注意, 这个目录是包树状结构 的基目录。如果希望将 com. 类添加到其中,这个 Em 类文件就必须位于子目录 /home/user/classdir/com/horstmann/corejava 中。

2 ) 将 JAR 文件放在一个目录中,例如:/home/user/archives。

3 ) 设置类路径(classpath)。

类路径,例子:c:classdir;.;c:archivesarc

为什么要有基目录,因为一个源文件内可能import多个包,所以在查找的时候要将基目录拼接上import的包所对应的的层次结构目录,这样才能定位到具体的类文件。

为什么要有.当前目录,因为这样才能找到同一个包下不同的类文件。

为什么要有jar包文件目录,因为你的源文件中引入了这些jar包中的类。

编译器定位文件要比虚拟机复杂得多。如果引用了一个类,而没有指出这个类所在的 包, 那么编译器将首先查找包含这个类的包,并询查所有的 import 指令,确定其中是否包含 了被引用的类。例如, 假定源文件包含指令:

import java.util.*;

import com..*;

并且源代码引用了 Employee 类。 编译器将试图查找 java.lang.Employee (因为java.lang 包被 默认导入)、java.u、 com. 和当前包中的 Employee。

对这个类路径的所有位置中所列出的每一个类进行逐一查看。如果找到了一个以上的类, 就 会产生编译错误(因为类必须是唯一的,而 import 语句的次序却无关紧要-->因为总是会遍历所有包)。

设置类路径

java -classpath /home/user/dassdir: .:/home/user/archives/arc HyProg

文档注释(略)

类的设计技巧

1.保证数据私有

2.对数据初始化

3.不要在类内使用过多的基本类型, 用其他类代替多个相关的基本类型使用

例如, 用一个称为 Address 的新的类替换一个 Customer 类中以下的实例域:

private String street; private String city; private String state; private int zip;

4.并非所有域都需要访问器和修改该区,对象中常常包括不希望设置的域

5.将职责过多的类进行分解

6.类名和方法名要体现他们的职责

7.优先使用不可变类(什么是不可变类? ---就是没有方法可以改变对象的状态,也就是说对象调用一个方法,它会返回一个新的对象,而不是直接修改当前的对象)

1.《如何处理静态域?总结很全面速看!读《Java核心技术》---包package(静态导入、包作用域、类路径)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何处理静态域?总结很全面速看!读《Java核心技术》---包package(静态导入、包作用域、类路径)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2238814.html

上一篇

123456789大写字怎么写看这里!Office –Excel数字格式设置

下一篇

0.30最后一位是什么?我来告诉你答案今晨财经必读(2021.10.30)

如何处理静态域?总结很全面速看!【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域?总结很全面速看!【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域相关介绍,前言 虽然现在都流行前后端分离部署,但有时候还是需要把前端文件跟后端文件一起打包发布,这就涉及到了springboot的静态资源访问的问题。不单只是静态资源打包,比如使用本地某个目录作为文件存储,也可...

如何处理静态域?我来告诉你答案如何入门静态分析,还不会给团队带来压力?Parasoft教你一招

如何处理静态域?我来告诉你答案如何入门静态分析,还不会给团队带来压力?Parasoft教你一招

如何处理静态域相关介绍,如果您最初没有花些时间来确保已经确定了为项目采取的正确策略,那么开始入门的话可能会非常棘手。 假设您的静态分析工具已经安装,并且已经设置好了初始配置。在那之后,如果您一开始没有花些时间确保已经确定好了...

如何处理静态域?我来告诉你答案【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域?我来告诉你答案【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域相关介绍,前言 目前流行前后分离部署,但有时需要将前端文件与后端文件一起打包发布,这是与sprint boot的静态资源访问相关的问题。 不单只是静态资源打包,比如使用本地某个目录作为文件存储,也可通过WebM...

如何处理静态域?终于找到答案了【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域?终于找到答案了【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域相关介绍,前言 目前流行前后分离部署,但有时需要将前端文件与后端文件一起打包发布,这是与sprint boot的静态资源访问相关的问题。 不单只是静态资源打包,比如使用本地某个目录作为文件存储,也可通过WebM...

如何处理静态域看这里!【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域看这里!【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域相关介绍,前言 目前流行前后分离部署,但有时需要将前端文件与后端文件一起打包发布,这是与sprint boot的静态资源访问相关的问题。 不单只是静态资源打包,比如使用本地某个目录作为文件存储,也可通过WebM...

关于如何处理静态域,你需要知道这些【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

关于如何处理静态域,你需要知道这些【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

如何处理静态域相关介绍,前言 虽然现在都流行前后端分离部署,但有时候还是需要把前端文件跟后端文件一起打包发布,这就涉及到了springboot的静态资源访问的问题。不单只是静态资源打包,比如使用本地某个目录作为文件存储,也可...

如何处理静态域看这里!如何入门静态分析,还不会给团队带来压力?Parasoft教你一招

如何处理静态域看这里!如何入门静态分析,还不会给团队带来压力?Parasoft教你一招

如何处理静态域相关介绍,如果您最初没有花些时间来确保已经确定了为项目采取的正确策略,那么开始入门的话可能会非常棘手。 假设您的静态分析工具已经安装,并且已经设置好了初始配置。在那之后,如果您一开始没有花些时间确保已经确定好了...

如何处理静态域看这里!详解使用 Nginx 部署静态页面的方法 值得收藏!

如何处理静态域看这里!详解使用 Nginx 部署静态页面的方法 值得收藏!

如何处理静态域相关介绍,Nginx简介 Nginx是俄罗斯人编写的非常轻的HTTP服务器,Nginx发音为“engine X”的高性能HTTP和反向代理服务器,也是IMAP/POP3/SMTP代理服务器。 Nginx 是由俄...