java作业4

1.Java的访问控制修饰符有哪些?各有什么访问权限?请对照第7页ppt的表格分别写程序验证。
有public,protected,private。
类前修饰符为public时:类属性为public时:访问权限为所有类。
类属性为protect时:访问权限为包中的类;但子类可以访问父类protect的属性方法,无论是否在同一包,但父类修饰符必为public。
类属性缺省时:访问权限为包中的类
类属性为private时:访问权限为本类
类前修饰符缺省时: 类属性为public时:访问权限为包中的类
类属性时protect时:访问权限为包中的类
类属性缺省时:访问权限为包中的类
类属性为private时:访问权限为本类
2. 子类对于从父类继承的哪些属性与方法是可见的?请分别写程序进行验证
有public和protected

class Plane{
    protected String name;
    public void setName(String name){
        this.name=name;
        }
    public String getName(){
        return name;
    }
}
class FighterPlane extends Plane{
    private int num;
    public void fire(){
        num-=1;
    }
}
class Run{
    public static void main (String[]args){
        FighterPlane p=new FighterPlane();
        p.name="su";
        p.setName("f");
        p.fire();
    }
}

3. 什么是组合?有什么作用?请举例说明。
在新的类中产生现有类的对象。作用:旧类对象作为新类的成员变量组合起来,用以实现新类的功能,用户看到的是新类的方法,而不能看到被组合对象的方法。

class FighterPlane{
    public void fire(){
        System.out.println("no fire a missile!");
        }
    }
class A{
    FighterPlane fp;
    public A (FighterPlane fpp){
        this.fp=fpp;
    }
    public void fireMissle(){
        fp.fire();
    }
}
public class Run{
    public static void main(String[]args){
        FighterPlane ftp=new FighterPlane();
        A a=new A(ftp);
        a.fireMissle();
    }
}

4. 什么是重载?有什么作用?请举例说明。
在类中定义了多个同名而不同内容参数的成员方法时,称这些方法为重载方法。

class Parent{
    public int getScore(){
        return 3;
    }
    public int getScore(int i){
        return i;
    }
}
  1. 什么是覆盖?有什么作用?请举例说明。
    子类对父类的同名方法(方法名称相同,参数相同,返回类型相同)重新进行定义
class Parent{
    public int getScore(){
        return 3;
    }
}
class Son extends Parent{
    public int getScore(){
        return 4;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值