首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Miscellaneous OOP-AP CS A 考点总结 16

(点击播放按钮观看代码演示)

1. “is-a” and “has-a” relationships

在Java中,“is-a” 代表的是类之间的继承关系,比如我们之前建立的Circle和Geometry两个类,我们就可以说“a Circle is-a Geometry”,也就是说:Circle是Geometry的子类,或者,Geometry是Circle的父类。

“has-a”关系,代表的是一种从属关系。比如,我们建立一个类叫Student,并在Student里定义一个Integer型的实例变量studentID;我们就可以说“a Student has an Integer studentID,” 即“每个学生都有一个学号”。这里的Student和Integer之间就是has-a的关系。

2. null

我们都知道,引用类型变量存储的值是对象的地址。如果我们声明了一个引用类型变量,而没有给其赋值,那么,这个引用类型变量的值就是null,或者说:“the reference variable has anullreference.”

有时候,我们想要清除一个引用类型变量的值,也可以将null赋值给这个变量。一般来说,如果一个变量的值是null,那么就不可以使用这个变量去调用方法。

值得注意的是:null和empty是两个不同的概念。比如我们可以创建两个String型变量:

String str1 = null;

String str2 = "";

str1的引用就是null,即str1不指向任何一个字符串;而str2的引用就不是null,str2指向了一个字符串,只不过这个字符串是空的(empty),里面什么字符都没有。

3. this

关键词this可以用来引用当前对象,或者说: “the keywordthisis a reference to the object whose method or constructor is being called.”我们还可以称之为隐式参数(the implicit parameter)。比如下面这个例子:

public static void main(String[] args)

{

TheClass myObject = new TheClass();

myObject.doSomething();

}

public class TheClass

{

public void doSomething()

{

doSomethingElse(this);

}

public void doSomethingElse(TheClass object)

{

}

}

显示结果就是:

This is an example.

4. super.method(args)

之前我们提到过,子类中可以调用父类的方法。如果我们已经在子类中重写了一个父类中的方法,但是仍然想要在子类中使用父类的这个方法的时候,我们就可以使用super.method(args)来调用这个在父类中的方法,比如:

public class Circle extends Geometry

{

private double radius;

public String getColor()

{

return "Color has been changed from " +super.getColor() + " to Black.";

}

}

public class Geometry

{

private String color = "White";

public String getColor()

{

return color;

}

}

下面,给大家留一道小题:

public class Father

{

public void doSomething(Father object)

{

}

}

public class SonextendsFather

{

public void doSomethingElse()

{

super.doSomething(this);

}

public void doSomething(Father object)

{

}

}

如上,我们建立了一个父类和一个子类,请问下面代码运行之后的输出结果是什么?

Son object = new Son();

object.doSomethingElse();

附:AP CS A Free Response Questions下载地址

https://apcentral.collegeboard.org/courses/ap-computer-science-a/exam

如果有任何问题,欢迎来找小起子聊天。

-----------------

上课时间:2018年4月21日(周六)、22日(周日)、28日(周六)、29日(周日)09:00-11:00

上课方式:网络直播课,可回看

课时:每次2小时,总计8小时

费用:2400元(参加过AP CS A 课程的老学员8折优惠)

适合学员:有AP CS A课程基础,准备2018年5月份参加AP考试的同学。

讲题范围:2013年至2017年一共5年的Free Response Questions,共计18道大题。

增值服务:给所有报名学员提供两套小帮手原创AP CS A模考选择题,并提供答疑服务。

报名咨询:

付款链接:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180418G10KUS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券