Java中子类的对象是否可直接使用父类的protected方法,为什么?

Java中子类的对象是否可直接使用父类的protected方法,为什么?,第1张

可以的,protected对于子类、同一个包中的类来说,可以访问,不同包的类不能访问,这是protected的访问权限决定的

作用域 当前类 同一package 子孙类 其他package

public √ √ √ √

protected √ √ √ ×

friendly √ √ × ×

private √ × × ×

函数里面的变量都是局部的临时的变量,在类中函数方法也是一样的,它们只是在使用的时候临时存在,无法被调用的,除非你的“变量”是超级变量……

Protected 的作用只是不允许外部调用,还是可以继承的~~

主函数中调用类中的成员函数调用方式为:对象名成员函数名(参数列表)。

其中“”是成员运算符,用来对成员进行限定,指明所访问的是哪一个对象中的成员。不仅可以在类外引用对象的公用数据成员,而且还可以调用对象的公用成员函数,但同样必须指出对象名,如:

stud1display( );//正确,调用对象stud1的公用成员函数。

display( );//错误,没有指明是哪一个对象的display函数。

由于没有指明对象名,编译时把display作为普通函数处理。应该注意所访问的成员是公用的(public )还是私有的(private )。只能访问public成员,而不能访问private成员。

扩展资料:

类的成员函数与一般函数的区别:

1、类的成员函数是属于一个类的成员,出现在类体中。类的成员函数可以被指定为private(私有的)、public (公用的)或protected(受保护的)。在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数)。

2、私有的成员函数只能被本类中的其它成员函数所调用,而不能被类外调用。

3、成员函数可以访问本类中任何成员(包括私有的和公用的),可以引用在本作用域中有效的数据。

4、一般的做法是将需要被外界调用的成员函数指定为public,它们是类的对外接口,并非要求把所有成员函数都指定为public。有的函数并不是准备为外界调用的,而是为本类中的成员函数所调用的,就应该将它们指定为private。

5、类的成员函数的作用是支持其它函数的 *** 作,是类中其它成员的工具函数(utility function),类外用户不能调用这些私有的工具函数。

6、类的成员函数是类体中十分重要的部分。如果一个类中不包含成员函数,就等同于C语言中的结构体了,体现不出类在面向对象程序设计中的作用。

-类和对象

//先看正确的例子

    class Program : A

    {

        static void Main(string[] args)

        {

            Program test = new Program();

            //这样可以正确访问基类中的protected成员

            testage = 10;

        }

    }

    class A

    {

        protected int age;

    }

-------

对基类中protected成员的访问,必须满足:

基类中的protected成员,只能从(Ⅰ)基类内部非静态方法访问(Ⅱ)继承这个基类的子类内部的非静态方法访问

-------

1)在问题中第1个程序中的错误是因为:你试图从A类的外部访问A内的protected成员。

2)在问题中第2个程序中的错误是因为:虽然将类Program作为A的子类,但你试图从子类的静态方法(即Main方法)访问基类的protected成员。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12178456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存