首页编程java编程java 什么是隐藏类?java中 什么是隐藏什么是重写二者有何区别

java 什么是隐藏类?java中 什么是隐藏什么是重写二者有何区别

编程之家2023-10-14128次浏览

大家好,今天来为大家分享java 什么是隐藏类的一些知识点,和java中 什么是隐藏什么是重写二者有何区别的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

java 什么是隐藏类?java中 什么是隐藏什么是重写二者有何区别

java中的private到底有什么用

private直接翻译过来为私有的,但在Java中它的含义并不是私有的。而是本类中可用的,表面上是说只有本类中可以使用(更改)该变量或者方法。

但他还有一个含义为:只要在我这个类的范围内部(括号内)即可使用,他不关心使用者是谁,是他自己或者别的类中的实例(例如通过this使用)。只要你在我的类里面用就行了。所以private应该理解为本类中可使用的,而非是本类私有的。

将属性和方法用private封装后表示,被封装的属性与方法只能在本类中使用,类外部不可见。

java 什么是隐藏类?java中 什么是隐藏什么是重写二者有何区别

此时要想访问被封装的属性,必须提供getter与setter方法

setter方法:主要进行属性内容的设置与修改

getter方法:主要进行属性内容的取得

java 什么是隐藏类?java中 什么是隐藏什么是重写二者有何区别

类的设计原则:编写类的时候,没有额外说明,所有属性必须使用private封装(成员变量)

private不能用于外部类的封装,但是可以用于内部类的封装

扩展资料

Private变量只能在包含其声明的模块中使用。可以使用 Private语句声明变量的数据类型。例如,下面的语句声明了一个 Integer类型的变量:“Private NumberOfEmployees As Integer”也可以使用 Private语句来声明变量的对象类型。

实例声明一个变量,Private X As New Worksheet如果在定义对象变量时没有使用 New关键字,则在使用该变量之前,必须使用 Set语句将一个已有的对象赋给该引用对象的变量。

在赋值之前,所声明的这个对象变量有一个特定值 Nothing,这个值表示该变量没有指向任何对象的实例。可以用带空圆括号的 Private语句来声明动态数组,然后可以在过程内用 ReDim语句来定义该数组的维数和元素。

如果试图在 Private,Public或 Dim语句中重新定义一个已显式定义了大小的数组的维数,就会发生错误。当初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串(""),而定长的字符串则用 0填充。

Variant变量被初始化为 Empty,用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。注意当在过程中使用 Private语句时,通常将 Private语句放在过程的开始。

参考资料:百度百科- Private(编程语句)

百度百科- Java(计算机编程语言)

java内部类,匿名内部类这些是什么求详细用法,还有语法。

一、内部类:

内部类是定义在另一个类中的类,使用它的原因主要有3个:

内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据;

内部类可以对同一个包中的其他类隐藏以来;

当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

【举例:《Java核心技术(卷I)》,6.4节——内部类,程序清单6-6】

importjava.awt.*;

importjava.awt.event.*;

importjava.util.*;

importjavax.swing.*;

importjavax.swing.Timer;

/**

*Thisprogramdemonstratesanonymousinnerclasses.

*@version1.102004-02-07

*@authorCayHorstmann

*/

publicclassInnerClassTest

{

publicstaticvoidmain(String[]args)

{

TalkingClockclock=newTalkingClock(1000,true);

clock.start();

//keepprogramrunninguntiluserselects"Ok"

JOptionPane.showMessageDialog(null,"Quitprogram?");

System.exit(0);

}

}

/**

*Aclockthatprintsthetimeinregularintervals.

*/

classTalkingClock

{

privateintinterval;

privatebooleanbeep;

/**

*Startstheclock.

*@paramintervaltheintervalbetweenmessages(inmilliseconds)

*@parambeeptrueiftheclockshouldbeep

*/

publicTalkingClock(intinterval,booleanbeep)

{

this.interval=interval;

this.beep=beep;

}

/**

*Startstheclock.

*/

publicvoidstart()

{

ActionListenerlistener=newTimePrinter();

Timert=newTimer(interval,listener);

t.start();

}

publicclassTimePrinterimplementsActionListener

{

publicvoidactionPerformed(ActionEventevent)

{

Datenow=newDate();

System.out.println("Atthetone,thetimeis"+now);

if(beep)Toolkit.getDefaultToolkit().beep();

}

}

}

上述代码中,TimePrinter就是在TalkingClock类的内部定义的一个内部类,因此它可以访问外围类的数据域,包括interval和beep这种私有域。

二、局部内部类:

讨论匿名内部类之前,先看看局部内部类,它是在一个方法中定义的类。代码示例如下,这里将上例中的TimePrinter类放到了start()方法中进行定义:

publicvoidstart(intinterval,finalbooleanbeep)

{

classTimePrinterimplementsActionListener

{

publicvoidactionPerformed(ActionEventevent)

{

Datenow=newDate();

System.out.println("Atthetone,thetimeis"+now);

if(beep)Toolkit.getDefaultToolkit().beep();

}

}

ActionListenerlistener=newTimePrinter();

Timert=newTimer(interval,listener);

t.start();

}

局部内部类不能用public或private访问说明符来声明,它的作用域被限定在声明这个局部内部类的块中。局部内部类可以对外部世界完全地隐藏起来。

局部内部类不仅能访问其外围类,还可以访问局部变量,不过这些局部变量必须被声明为final,如上述代码中start()方法的参数beep所示。

三、匿名内部类

将上面的局部内部类的代码修改一下,就可以定义一个匿名内部类,这种类没有类名。

publicvoidstart(intinterval,finalbooleanbeep)

{

ActionListenerlistener=newActionListener()

{

publicvoidactionPerformed(ActionEventevent)

{

Datenow=newDate();

System.out.println("Atthetone,thetimeis"+now);

if(beep)Toolkit.getDefaultToolkit().beep();

}

};

Timert=newTimer(interval,listener);

t.start();

}

请参照局部内部类的代码,比较不同之处。TimePrinter这个类名被省略了,定义listener这个局部内部类时,在其后的new ActionListener()后面跟了一个大括号括起的语句块,也就是此匿名内部类的定义语句。匿名内部类除了具有内部类的优点外,还可以减少代码量。

【内容有些多,但愿能帮到你^_^】

private在Java中是什么意思

Private,编程语句在模块级别中使用,用于声明私有变量及分配存储空间。

private

读法:英[ˈpraɪvət]美[ˈpraɪvət]

1、adj.私人的,私有的;私立的;私营的

2、adj.私下的,不公开的,秘密的

3、adj.(场所)清静的;(人)不愿吐露心思的,内向的

4、adj.无官职的

5、n.列兵;二等兵

短语

1、Private Life个人生活;私生活;私人生活;香港小姐写真

2、Private placement私募;私募配售;私募融资

3、Private Secretary私人秘书;私家秘书;私家文秘;小我私家秘书

4、private cloud私有云;私密之云

5、private key私钥;私密金钥;私有密钥;私人密钥

扩展资料

private近义词:chamber

读法:英[ˈtʃeɪmbə(r)]美[ˈtʃeɪmbər]

1、n.(身体或器官内的)室,膛;房间;会所

2、adj.室内的;私人的,秘密的

3、vt.把…关在室内;装填(弹药等)

短语

1、chamber pot马桶;便壶;夜壶;便桶

2、magma chamber[地物]岩浆房;岩浆储源;岩浆库;熔岩领地

3、air chamber气室;[建]空气室;气腔;空气包

4、echo chamber回响室;回音室;[声]回声室;回声室效应

5、cooling chamber冷冻箱;冷却室;冷却腔

java中 什么是隐藏什么是重写二者有何区别

隐藏是指当父类和子类有相同名字的属性的时候,父类的同名变量形式上不可见了。但是实际还是存在的。

譬如A有int变量a= 10,父类B有变量a= 5;

当B b= new A()得时候,若用b.a那么父类的5就被隐藏了,此时b.a=子类的10。在子类里面访问super.a得时候只能得到子类的值

重写是针对方法的,通常是父类的方法在子类中重新写过。当执行子类的实例得时候,实际运行的是子类的方法。在子类里面可以通过super.method()来显式的访问。

文章到此结束,如果本次分享的java 什么是隐藏类和java中 什么是隐藏什么是重写二者有何区别的问题解决了您的问题,那么我们由衷的感到高兴!

java中random的seed什么意思?java中的random()和random(long seed) 有什么区别javase入门指什么?JavaSE是什么