Java访问权限原理与用法分析

技术Java访问权限原理与用法分析这篇文章主要介绍“Java访问权限原理与用法分析”,在日常操作中,相信很多人在Java访问权限原理与用法分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

这篇文章主要介绍“Java访问权限原理与用法分析",在日常操作中,相信很多人在爪哇访问权限原理与用法分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Java访问权限原理与用法分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

构造者模式思想

进行初始化,解决了多个构造器重载,构造器参数过多记不住的情况。

包装第七天;//声明一个程序包类别员工{私有字符串名称;私人国际号码私人互联网时代;私弦性;私有字符串地址;//alt shift s public int getNo(){ return no;}/* public Employee(){ } */public Employee setNo(int no){ this。否=否;归还这个;} public String getName(){ return name;}公共员工集名称(字符串名称){ this.name=name归还这个;} public int GetAge(){ return age;}公共雇员集年龄(整数年龄){ this.age=年龄;归还这个;} public String getSex(){ return sex;}公共员工集合性(字符串性){这。性=性;归还这个;}公共字符串GetAddress(){ 0返回地址;}公共员工集合地址(字符串地址){ this.address=address归还这个;}/*公共雇员(字符串名称、整数、整数年龄、字符串性别、字符串地址){ this . name=name this . no=not is . age=年龄;this . sex=sex this . address=address } */public void show(){ system。出去。println(no ','姓名','年龄','性别','地址);} } public class TestEmployee { public static void main(String[]args){/* Employee Tom=new Employee(' Tom ',12,33,'男','上海');汤姆。show();*//*构造者模式思想:进行初始化。解决了多个构造器重载,构造器参数过多记不住的情况*/员工汤姆=新员工()。第(11)项“setAddress(”北京').' setAge(33). '' setSex('男').setName(' Tom ');汤姆。show();}}

包第七天;//声明一个程序包,必须放在文件的第一行

层次结构

包装父包[.子包。];包名:小写字母;通常是域名反转。部门名。项目名

包的好处

1.管理类和接口2.防止命名冲突3.封装,通过权限的

控制,更好的

不同程序包下的类的方法访问方式

1.导入程序包

import b.Exam2;//导入b包下的类型Exam2import b.*;//不能导入子包import b.c.Exam3;//导入子包下的类型

2.用完全限定命名的方式

b.Exam2 e2 = new b.Exam2();

注意:两个包下有相同的类型,必须用完全限定命名的方式进行。

访问修饰符

Java将类成员的可见度分为四个种类:

创建类的时候只有两种:public和默认

static

static是一个修饰符应用:可以用于修饰属性,方法,块,类静态变量

class 类名{//静态成员变量,类变量public static 数据类型 变量名;}

package day7;class Child{static int count;}public class TestChild {public static void main(String[] args) {Child a = new Child();Child b = new Child();//count被所有对象共享a.count ++;b.count ++;System.out.println(a.count);System.out.println(b.count);}}

静态变量随着类的创建的而存在,优先于对象存在。

静态变量(类变量)

属于类的,被所有对象所共享,优先于对象而存在的。使用

类名.静态变量名对象名.静态变量名//少用,容易混淆

静态变量和实例变量的区别

1.静态:类加载的时候就加载了,就创建了,就分配空间默认初始化了

实例:对象创建的时候,才能创建;2.静态:属于类的,存在于方法区中的。实例:属于对象。存在于堆中。3.静态:声明周期很长,类销毁的时候,才回释放。实例:对象销毁,会释放。

静态变量的应用场合

当数据共享时,使用。当不需要对象,或无法创建对象时使用。

静态块

在类中定义

static{  作用:初始化类的,给类变量初始化,静态变量}

局部代码块

定义:在方法中定义

public void show(){  {    局部代码块    作用:用来控制局部变量生命周期和使用范围。  }}

静态方法

静态方法中只能访问静态成员。静态方法中不能使用this,super关键字。super可能访问到非静态的成员。

静态方法和实例方法的区别

1.静态:属于类,用类名直接调用实例: 属于对象调用。2.静态:只能直接访问静态成员(静态变量,静态方法)实例:可以直接访问静态的和非静态的3.静态:不能使用this,super。实例:可以使用this,super。

应用场合

当不用创建对象访问,形式简单或者不能创建对象,那么就要用静态的方法了

静态导入

导入的是类中的静态成员,导入之后可以直接使用。

格式

import static 包名.类名.静态变量名(方法);

单例模式

对类只能创建一个对象

饿汉模式

类加载时,静态变量就存储了一个对象

package day7;class Window{  private static Window win = new Window();  private Window() {  }  public static Window getInstance() {  return win;  }}public class TestWindow {  public static void main(String[] args) {    Window win = Window.getInstance();    Window win1 = Window.getInstance();    System.out.println(win);    System.out.println(win1);  }}

输出结果

day7.Window@7852e922day7.Window@7852e922

懒汉模式

类加载时,没有指定对象,只有在应用的时候才去创建对象,多线程的环境时,推荐使用饿汉式,因为是线程安全的。

package day7;class Window{  private static Window win = null;  private Window() {}public static Window getInstance() {  if(win == null) {    win = new Window();  }  return win;  }}public class TestWindow {public static void main(String[] args) {Window win = Window.getInstance();Window win1 = Window.getInstance();System.out.println(win);System.out.println(win1);}}

返回结果

day7.Window@7852e922day7.Window@7852e922

API之Math类

常用方法

package day7;public class TestMath {public static void main(String[] args) {// MathSystem.out.println(Math.abs(‐33.4));//33.4//大于等于44.6的最小整数‐》doubleSystem.out.println(Math.ceil(44.6));//45.0//小于等于44.6的最大整数‐》doubleSystem.out.println(Math.floor(44.6));//44.0//四舍五入为一个long数字System.out.println(Math.round(44.6));//45//求几次方的值System.out.println(Math.pow(3,2));//9.0//double [0.0,1.0)double n = Math.random();System.out.println(n);//1‐10//[最小值,最大值]//(int)(Math.random()*(最大值‐最小值+1)+最小值)int num = (int)(Math.random()*(10‐1+1)+1);System.out.println(num);}}

Random类

Random rand1 = new Random(11);//11为随机种子System.out.println(rand1.nextDouble());Random rand2 = new Random(11);//System.out.println(rand2.nextDouble());

随机种子相同时,相同随机次数输出结果相同。

Random rand3 = new Random(11);//int范围内的整数System.out.println(rand3.nextInt());//[0,5)System.out.println(rand3.nextInt(5));

到此,关于“Java访问权限原理与用法分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/68674.html

(0)

相关推荐

  • C++怎么将线程看作全局​容器

    技术C++怎么将线程看作全局​容器本篇内容主要讲解“C++怎么将线程看作全局容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么将线程看作全局容器”吧!CP.24:将

    攻略 2021年11月25日
  • 如何进行实战和剖析Sentinel 系统自适应限流

    技术如何进行实战和剖析Sentinel 系统自适应限流这篇文章将为大家详细讲解有关如何进行实战和剖析Sentinel 系统自适应限流,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定

    攻略 2021年10月21日
  • MySQL中CURRENT_TIMESTAMP的使用方式是什么

    技术MySQL中CURRENT_TIMESTAMP的使用方式是什么这篇文章主要讲解了“MySQL中CURRENT_TIMESTAMP的使用方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢

    攻略 2021年11月25日
  • 如何为Java多线程应用程序优化数据存储库

    技术如何为Java多线程应用程序优化数据存储库本篇文章为大家展示了如何为Java多线程应用程序优化数据存储库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。数据存储库通常是超高要求

    攻略 2021年11月29日
  • 蘑菇定律,成也细节,败也细节讲的是什么

    技术蘑菇定律,成也细节,败也细节讲的是什么1.奥格尔维定律:善用比我们自己更优秀的人 2.光环效应:全面正确地认识人才 3.不值得定律:让员工选择自己喜欢做的工作 4.蘑菇管理定律:尊重人才的成长规律 5.贝尔效应:为有

    生活 2021年10月30日
  • 合并HTTP请求与并行HTTP请求哪个更快

    技术合并HTTP请求与并行HTTP请求哪个更快本篇内容介绍了“合并HTTP请求与并行HTTP请求哪个更快”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年11月11日