首页编程java编程什么是java的缺省成员,java缺省是什么意思

什么是java的缺省成员,java缺省是什么意思

编程之家 2023-10-14 98次浏览

大家好,今天小编来为大家解答什么是java的缺省成员这个问题,java缺省是什么意思很多人还不知道,现在让我们一起来看看吧!

什么是java的缺省成员,java缺省是什么意思

java缺省是什么意思

在java语言中,每个类至少有一个构造方法。如果程序中没有显式定义任何构造方法,

那么java语言将自动提供一个隐含的默认构造方法。只要程序中已经显式定义了构造方法。

那么java语言将不再提供隐含的默认构造方法。

什么是java的缺省成员,java缺省是什么意思

//实例1

class Base

{

什么是java的缺省成员,java缺省是什么意思

Base(int i){ System.out.println("Base("+i+")");}

}

class Sub extends Base

{

Sub(){ System.out.println("Sub()");}

Sub(int i)

{

System.out.println("Sub("+i+")");

}

public static void main(String[] args)

{

}

}

/*output:

z.java:9:找不到符号

符号:构造函数 Base()

位置:类 Base

Sub(){ System.out.println("Sub()");}

^

z.java:11:找不到符号

符号:构造函数 Base()

位置:类 Base

{

^

2错误

*/

通过分析以上编译错误,原因是Base父类缺少默认构造方法,正因为Base父类定义了带参数的构造方法,以至于java语言将不再提供隐式的默认构造方法,所以代码无法通过编译。

//实例2

class Base

{

Base(int i){ System.out.println("Base("+i+")");}

}

class Sub extends Base

{

Sub()

{

super(8);

System.out.println("Sub()");

}

Sub(int i)

{

super(9);

System.out.println("Sub("+i+")");

}

public static void main(String[] args)

{

}

}

情况变得扑朔迷离起来,虽然Base父类没有显式提供无参数的默认构造方法,

而java语言也不会提供隐式的默认构造方法,但以上代码竟然正常编译通过了。

2、构造方法的显式与隐式调用

如果子类的构造方法中没有显式地调用父类构造方法,也没有使用this关键字调用其他重载构造方法,

那么在生成子类的实例对象时,系统将默认调用父类无参数的构造方法。

看看真实的实例1代码:

class Base

{

Base(int i){ System.out.println("Base("+i+")");}

}

class Sub extends Base

{

Sub()

{

super();

System.out.println("Sub()");

}

Sub(int i)

{

super();

System.out.println("Sub("+i+")");

}

public static void main(String[] args)

{

}

}

原来隐式调用的super();被省略了,这下也就知道了实例2为什么得以正确编译。

java类中的成员缺省(默认的)的修饰符是什么

java类中成员缺省的修饰符是不写修饰符,理解为friendly(default),拥有的权限是包权限。

成员变量或成员方法声明为默认权限,则其是包级可见,同一个包内的类可以访问到这个属性或方法。若是类声明为默认权限,则同一个包下的类都可以访问到该类,并可以实例化该类(当然如果这个类不具有实例化的能力除外,比如该类没有提供public的构造函数)

Java权限有四个,分别为public,protected,默认,private,其开放程度依次降低

public可供所有类访问

protected继承可见

private只能类本身内部的方法可以访问

java缺省值是什么意思

java中的缺省值是指当使用一个没有赋值过的变量时,程序并没有报错,这时候就代表这个变量有一个缺省值,缺省值就是当没有给变量赋值时,这时候变量自己拥有一个缺省的值,当赋值时,该缺省值会被赋值的值所替代。体现缺省值最明显的例子就是,定义一个int型的变量i,然后直接输出,这时候会输出0,这个0就是缺省值也是默认值,如果现在对i进行赋值,赋值一个3,那么0就会被替代,输出的就会是3。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

java中的缺省值是什麼意思

java中的缺省值是指当你使用一个没有赋值过的变量时,程序并没有报错,这时候就代表这个变量有一个缺省值,缺省值就是当你没有给变量赋值时,这时候变量自己拥有一个缺省的值,当你赋值时,该缺省值会被赋值的值所替代。体现缺省值最明显的例子就是,你定义一个int型的变量i,然后直接输出,这时候会输出0,这个0就是缺省值也是默认值,如果现在对i进行赋值,赋值一个3,那么0就会被替代,输出的就会是3。

什么是java的缺省成员的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java缺省是什么意思、什么是java的缺省成员的信息别忘了在本站进行查找哦。

java流到底是什么(java中的流是什么) 猫样 猫样女子