第五章编程题&附加题

课本P73 T9

class Src {
	public int aN=3;
	public Src(int aa){
		if (aa>=0){
			aN=aa;}
		}	
}

class Dis{
	Src s;
	public Dis(Src ss){
		this.s=ss;
	}
	public void changeSrc(int b){
		if (b<0){
			System.out.println("不为非负");
		}
		else if (b==s.aN){
			
		}
		else{
			s.aN=b;
			System.out.println(s.aN);
		}
	}
}

public class RunD_C{
	public static void main(String args[]){
		Src src=new Src(6);
		Dis dis=new Dis(src);
		dis.changeSrc(5);
	}
}

Java的访问控制修饰符有:
public:接口访问权限
protected:包访问权限,继承访问权限
默认:包访问权限
private:无法直接访问
权限对应下图
各有什么访问权限?请对照第7页ppt的表格分别写程序验证。

public class edit0502 {
	public static void main(String args[]){
		FighterPlane fp= new FighterPlane();
		System.out.println(fp.name0);
		System.out.println(fp.name1);
		System.out.println(fp.name2);
		//System.out.println(fp.name3);
		fp.test1();
		fp.test2();
		fp.test3();
		//fp.test4();
        }

}
class  Plane
{
  String name0="n0";
  public String name1="n1";
  protected String name2="n2";
  private String name3="n4";
  void test1(){
	  System.out.println("we can see default void ");
  }
  public void test2(){
	  System.out.println("we can see public void ");
  }
  protected void test3(){
	  System.out.println("we can see protected void ");
  }
  private void test4(){
	  System.out.println("we can see private void ");
  }
}
class FighterPlane extends Plane
{
  public int a=0;
}

以下为输出结果:
n0
n1
n2
we can see default void 
we can see public void 
we can see protected void 

斜杠注释掉的部分不能通过编译,所以public,protect,默认都是可见的。

组合:拥有“高内聚,松耦合”的特点。组合通过对象内部的属性引用来实现。组合会使对象之间的耦合性较为松散。

说实话,可能会用,但我不是很清楚概念,课本案例主要是强调对象之间的沟通。类A的对象a中有个可以控制类FighterPlane对象ftp的引用,从而通过a向ftp发消息。

重载方法:在类中定义了多个同名而不同内容参数的成员方法。
作用:对于能进行消息处理的接口方法,又是即需要对其功能进行服用,同时有需要对其进行扩充时,重载能满足要求。
很多统计函数包里面可以为了不同目的输入不同数量的参数,就是用了重载方法。
课本例5.8

覆盖:子类对父类参数相同,返回类型相同的同名方法重现进行定义。
作用:方法覆盖与引用替换结合,可是抽象类的生命在保证消息发送统一性的前提下,具有消息结果执行上的相异性特点。(课本内容,我还不是和理解,有点像旧方法弃之不用了)
课本例5.9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值