Java教程

super关键字 和 访问权限修饰符

本文主要是介绍super关键字 和 访问权限修饰符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

super关键字

super可以调用父类的方法,进行使用也可以理解为父类对象,

this关键字表示当前对象。

当一个属性的使用没有添加this或者super关键字的时候,他的查找顺序为:局部-->成员-->父类,如果没有则会报编译异常

被this修饰的变量,如果本类的成员变量中没有找到,也会去父类当中查找

被super修饰的变量只会从父类中查询,如果父类中没有,而子类存在,同样会编译错误

子类

public void sq(){
    System.out.println("S:"+super.num);
}

父类

public int num = 10;

运行测试

 

 

在构造方法中,默认会添加一句super();而且必须是在第一行

public Student(){
    System.out.println("父类执行了:");
}
public User(){
    System.out.println("子类执行了:");
}

运行:

 

 

super和this关键字访问成员的区别

成员变量:

  this成员变量

  super . 成员变量 super不能访问私有成员变量

成员方法:

  this . 成员方法

  super . 成员方法

构造方法:

  this(参数列表);

  super(参数列表);

任何一个构造方法都默认的会在构造方法上生成super();访问父类的无参构造方法,为了初始化父类的成员变量

this和super二个方法不能在同一个方法中

 

访问权限修饰符

作用:表示被修饰的元素的访问权限

分为:public,protected,default,private

访问权限修饰符可以修饰的元素有:

类:

成员变量

成员方法

 

这四个的特点分别是:

public:成员对一切类可见

protected:本包下面都可见,不同包下只有子类可见

default:只对本包下面的可见

private:只对本类可见

 

宽严关系

public > protected > default > private

 

 

 

 

搜索

复制

这篇关于super关键字 和 访问权限修饰符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!