父类,子类的变量和方法


package com.fea.test.init;

public class Father_variable {
public static String static_var="Father_static_var";
public String public_var="Father_public_var";
String friendly_var="Father_friendly_var";
private String private_var="Father_private_var";
public String getPrivate_var() {
return private_var;
}
public void public_method() {
System.out.println("Father_public_method");
}
private void private_mehod(){
System.out.println("Father_private_mehod");
}
protected void protect_method(){
System.out.println(friendly_var);
System.out.println("Father_protect_method");
}
public void dp(){
private_mehod();
}

}

子类:

package com.fea.test.init;

public class Child_variable extends Father_variable{
public static String static_var="Child_static_var";
public String public_var="Child_public_var";
String friendly_var="Child_friendly_var";
private String private_var="Child_private_var";

public String getPrivate_var() {
return private_var;
}
public void public_method() {
System.out.println("Child_public_method");
}
private void private_mehod(){
System.out.println("Child_private_mehod");
}
protected void protect_method(){
System.out.println("Child_protect_method");
}
public void dp(){
System.out.println(public_var);
}
public static void main(String[] args) {
Father_variable cv= new Child_variable();
System.out.println(cv.public_var);
System.out.println(cv.static_var);
cv.dp();
cv.protect_method();
cv.public_method();
/**
*
属性是按类型(句柄)去访问的,方法是按对象访问的
*这里提出的覆盖并不是传统意义的覆盖,只是父类的属性或者方法隐藏了而已,隐藏的程度与关键字public,protect,private有关
*如果要调用父类的属性或者方法,可以用super.
1. 由于private变量受访问权限的限制,它不能被覆盖。
2. 属性的值取父类还是子类并不取决于我们创建对象的类型,而是取决于我们定义的变量的类型。
3. friendly、protected和public修饰符并不影响属性的覆盖。
4. 静态变量和静态常量属于类,不属于对象,因此它们不能被覆盖。
5. 常量可以被覆盖。
6. 对于基本类型和对象,它们适用同样的覆盖规律。
7.在方法中访问属性时,访问的是该对象的属性,如果该对象没有该属性,访问的则是父类对象的属性
*/
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值