java构造函数之private,protected

Java构造函数(构造方法)的简介说明 阅读详情

通常构造函数是public的, 今天无意间写了一个default的构造函数, 在另外一个包里面使用的时候居然发现The constructor is not visible,于是有了兴趣, 试验发现private, protected都是not visible.回去翻书《Thinking in java》关于构造函数那一节也没有讲。

写了几个例子,发现构造函数也遵循普通函数的访问机制, 即:

public:所有的类都可以使用;

protected: 本包以及子类可以使用;

default:本包可以使用;

private:仅本类可以使用。

 所以:

如果构造函数是private的,则不可被继承;也阻止了本类被继承(如果只有这一个构造函数的话).

private的函数叫做效用函数(utility function),它起到了一个中转的作用,专门为其他函数服务 
一般只有单例模式才把他设成为private
确保外部不能实例化,这样才能保证他是一个实例
给你个例子
public class ClassicSingleton {    
   private static ClassicSingleton instance = null;    
     
   private ClassicSingleton() {    
          
   }    
   public static ClassicSingleton getInstance() {    
      if(instance == null) {    
         instance = new ClassicSingleton();    
      }    
      return instance;    
   }    
} 

新能源知识库(98)SOC曲线介绍 ​:一条异常的健康SOC曲线,往往能提前反映出电池性能的衰退或系统存在的隐患。BMS和EMS通过实时跟踪SOC值,能在电池电量过高(如>95%)时停止充电,电量过低(如<20%)时停止放电,从而避免因过度充放电引发的。​:OCV-SOC曲线上较为平坦的部分(例如,磷酸铁锂电池通常在20%-80% SOC范围)。​:在光伏、储能、电网协同的系统中,SOC曲线是能量调度的核心依据。​:电池的寿命很大程度上取决于它的工作方式。​:利用电池静置后电压与SOC的对应关系来估算,较准确但需要电池静置,无法实时使用。 阅读详情

相关推荐

图像去模糊(二)——Richardson–Lucy算法

Richardson Lucy Algorithm(Richardson-Lucy算法详解及效果实例)

xueruhongchen的博客 3万+

Java基础-构造函数

java基础-构造函数

m0_60509400的博客 1万+

oh-my-zsh详细安装与主题插件配置

使用Linux的小伙伴都知道默认shell是bash,但是对于喜欢折腾,喜欢酷炫的我们bash怎能够用。zsh的作为一种shell,功能更强大,但是配置复杂。后来,有大佬创建了一个名为oh-my-zsh的开源项目,使用方便,功能强大。 下面就去oh-my-zsh的配置。 ①安装zsh 想要安装oh-my-zsh,首先得安装zsh,输入命令 sudo apt-get install zsh 界面如下 ②查看是否安装成功 输入命令 zsh --version 可以查看安装zsh的版本..

惜洛-Jankin的博客 2万+

java中构造函数有什么用,java中的构造函数有什么用?用它有什么好处?在什么地方用?...

构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用,程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super()。如下例:例一:package sample;public class A{A(){System.out.println("主类构造函数调用");}pu...

weixin_34634231的博客 586

3GPP LTE/NR信道模型

CDL(Clustered Delay Line):簇延迟线模型,包括CDL-A、CDL-B、CDL-C三个用于NLOS的信道模型,以及CDL-D、CDL-E两个用于LOS的信道模型。

LinkEverything的博客 1万+

推荐系统召回总结(持续更新)

推荐系统架构 候选池:可供推荐的物料候选池,对于图文、短视频、新闻等来说通常是最近N天的新物料组成的集合,定期进行物料更新。 召回:从候选池中选出和用户相关的物料,交给后面的排序模块进行打分。召回面对的候选集通常是数十万或者百万甚至千万的量级,检索过程必须轻量快速。通常由多路召回组成,保证不遗漏且相关性、多样性尽量好,可以分为非个性化召回和个性化召回。 粗排:对召回选择的几千或者几百候选物料进行排序,快速打分选出topN,减少精排的压力,兼顾精准与效率。 精排:对粗排的结果进行精准排序,这个环节需要特征尽可

whgyxy的博客 2515

【Java编程教程】详解Java 构造函数

在Java中,构造函数是类似于方法的代码块。它在创建类的实例时被调用。在调用构造函数时,对象的内存是在内存中分配的。它是一种特殊类型的方法,用于初始化对象。每次使用 new() 关键字创建对象时,至少会调用一个构造函数。如果类中没有可用的构造函数,它会调用默认构造函数。在这种情况下,Java 编译器默认提供默认构造函数。Java 中有两种类型的构造函数:无参数构造函数和参数化构造函数。注意:它被称为构造函数,因为它在对象创建时构造值。没有必要为类编写构造函数。

jiangjun020326的博客 6504

AI辅助编程实战指南:从提示工程到开发环境搭建

大型语言模型(LLM)作为现代人工智能的核心技术,通过自然语言理解和生成能力,正在深刻改变软件开发范式。其原理基于海量代码和文本数据的预训练,能够根据上下文生成符合逻辑的代码片段和解决方案。这一技术的核心价值在于将开发者从繁琐的语法和基础逻辑编写中解放出来,提升开发效率与代码质量。在实际工程应用中,AI辅助编程已广泛应用于日常编码、代码调试、文档生成和系统设计等场景。其中,提示工程(Prompt Engineering)和检索增强生成(RAG)是两项关键技术:前者通过结构化、角色化的指令设计,引导AI生成更

weixin_26775679的博客 620

构造函数(构造方法)

构造函数(Constructor)是Java中的一个特殊方法,用于在创建对象时初始化对象的状态。构造函数的主要作用是设置对象的初始值,以便对象可以使用。在Java中,每个类都至少有一个构造函数,用于创建该类的对象。

SpitBubble的博客 1432

四自由度机械臂Matlab仿真全流程:从DH参数建模到轨迹规划实战

本文详细介绍了四自由度机械臂在Matlab中的完整仿真流程,从DH参数建模到轨迹规划实战。通过Robotics Toolbox工具,读者可以学习如何构建机械臂模型、验证运动学特性,并实现平滑的轨迹规划。文章还提供了性能优化技巧和常见问题解决方案,帮助开发者高效完成机械臂仿真项目。

weixin_29061041的博客 238

链式中介效应结果解读:从Bootstrap置信区间到实践意义

本文深入解析链式中介效应结果的解读方法,从Bootstrap置信区间的应用到实践意义的阐述。通过实际案例展示如何分析总效应、直接效应和间接效应,并强调效应量评估的重要性。文章还提供了构建逻辑解释的三步法,以及敏感性分析和报告撰写的实用技巧,帮助研究者准确解读链式中介效应。

weixin_33690367的博客 718

java 的构造函数修饰符public private protected

java中使用new关键字创建对象的时候,构造方法上的修饰符起什么作用? 1,限定可以创建对象的位置 使用public 修饰,new对象时,可以在任何包下的任何类中。 使用protected修饰,只能在当前类,或者同一包下创建对象。 使用private修饰,只能在当前类中创建对象。 2,使用不同修饰符修饰构造函数有啥作用? public修饰,不限定对象啥时候在什么地方创建。 protected修饰,限制对象创建范围到同一个包下,当需要外部去创建对象,但是又不想所有使用的地方都能创建。可以使用protecte

qq_43842093的博客 3583

硬件知识点-----SPI串联电阻、振铃、过冲

电阻取值,没有公式,一被传输线的特征阻抗为50欧姆左右,而TTL电路输出电阻大桃为13欧姆左右,在源端串一个33姆,大致和50相当,这样就可以柳制从终端反射回来的倍号,防止再次反射。传输时间tp=L/V,其中L是导线长度,V是电磁波在电路板中的传输速度V=C/sqrDk,其中Dk是光速衰减因子,对于电路板而言是铜线,Dk=4电磁波在电路板中的速度都是慢于光速的。实际上串联多大的电阻与传输线的阻抗有关,为了保证阻抗的连续性,如果传输线的特性阻抗 Z0与驱动源的输出阻抗 Zd不匹配,会引发信号的反射。

贾saisai的博客 2718

java继承与protected权限再理解

java会继承父类中default权限以上的成员 父类的private成员不会被子类继承,子类不能访问。但是子类对象的确包含父类的私有成员。 父类的 包访问成员 继承为子类的包访问成员。就好像他们直接定义在子类中一样。 父类的 protected 成员继承为子类的protected 成员。就好像他们直接定义在子类中一样。 父类的 public 成员继承为子类的public 成员,就好像他们...

风雨落 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

类成员声明总结:public,friendly,private,protected

学习Java两年了,突然发现自己连public,friendly,private,protected这几个基本概念还搞不清楚,于是翻开《Thinking in Java SE 》……总结:public:声明为public的数据成员和成员方法都能被所有的客户端程序员使用。friendly:对于同一package内的所有类可见,如果两个类放在同一目录,但没有声明package,那么Java会认为这两个...

weixin_30888413的博客 195

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

我的复习之路:Java构造函数之访问控制符

我们知道在Java中有3个访问修饰符,分别为public、protected、private。4个访问控制级别,分别为public、protected、默认和private。 其中类只能有public和默认访问级别。那么类的构造函数呢?下面就对类的构造函数的访问修饰符进行解说。 第一种情况:public访问控制级别 public访问控制级别的构造函数对于所有包中的类都是可见的。也就是说任何地

happyhj1985的专栏 860

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java什么时候使用private public protect static

一.Java访问权限饰词(access specifiers) Java有public、protect、friendly、private四种访问权限,并且这四访问权限的访问范围越来越小。 1. friendly 1) 果一个class内的数据成员或方法没有任何权限饰词,那么它的缺省访问权限就是friendly。同一个package内的其它所有classes都可以访问frie

findaway123的专栏 5835

java的public_java中public用法

一.Java访问权限饰词(access specifiers)Java有public、protect、friendly、private四种访问权限,并且这四访问权限的访问范围越来越小。1. friendly1) 果一个class内的数据成员或方法没有任何权限饰词,那么它的缺省访问权限就是friendly。同一个package内的其它所有classes都可以访问friendly成员,但对packag...

weixin_33397994的博客 2万+

Java 构造函数与修饰符详解:初始化对象与控制权限

为了方便其他设备和平台的小伙伴观看往期文章:,关注后即可获取最新文章推送。

小万哥的博客 730

java中子类继承了父类的哪些成员

一个类只能有一个父类,但可以被多个子类同时继承。那么java中到底能从父类中继承哪些成员呢? 假设存在类Parent,有一个私有成员变量a,并且针对该私有成员变量有个public的取得器。如下: public class Parent { private int a; public Parent(int i){ a = i; } public int getA() { retu

guojing8808的专栏 2904

构造函数 的protected

如果构造函数是私有的,那么该类无法被继承(因为子类构造时要调用超类的构造函数,而private使得子类无法调用),无法从外界获得一个对象.但是可以在类的内部产生一个实例的,例如singleton就是使用private的构造函数,然后在内部维护一个实例,而提供一个static的getInstance方法来获取这个实例 如果构造函数是protected,那么该类可以继承,可以在被包内其他类中产生实例,

Lee的专栏 5428

java学习笔记-访问指示符

 2007.06.111、Java访问指示符: friendly,public,private,protected   Java访问指示符都置于数据成员和方法的最前面。(1)、friendly:包中有效。     a、不指定访问指示符,默认就是friendly.     b、当前包内的其他所有类都能访问friendly 成员和方法,但对包外的所有类来说,这些成员却是“私

xian_fish的专栏 1178
上一篇: 总结一下在学习WebService中学习遇到的一些不懂的概念
下一篇: SSH2实现数据库和界面的分页
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值