Chapter 3 Discovering Classes and Object
Chatper 3 Discovering Classes and Object
- Exercises:
1.What is a class?
A class is a template for manufacturing objects.
2.How do you declare a class?
By providing a header followed by a body.The header minimally consists of reserved word class followed by an identifier.The body consists of a sequence of declarations placed between a pair of brace characters.
3.What is an object?
An object is a named aggregate of code and data.
4.How do you instantiate an object?
By using the new operator followed by a constructor.
5.What is a constructor?
A constructor is a block of code for constructing an object by initializing it in some manner.
6.True or false:Java creates a default noargument constructor when a class declares no constructors. true
7.What is a paremeter list and what is a parameter?
A parameter list is a round bracket-delimited and comma-separated list of zero or more parameter declarations.A parameter is a constructor or method variable that receives an expression value passed to the constructor or method when it calls.形参
8.What is an argument list and what is an argument?
An argument list is a round bracket-delimited and comma-separated list of zero or more expressions.An argument is one of these expressions whose value is passed to the correspongding parameter when a constructor or method variable is called.实参
9.True or false:you invoke another constructor by specifying the name of class followed by an argument list.
False,you invoke another constructor by specifying this followed by an argument list.
10.Define arity.参数数量
Arity is the number of arguments passed to a constructor or method or the number of operator operands.
11.What is local variable?
A local variable is a variabele that is declared in a constructor or method and is not a member of constructor or method parameter list.
12.Define lifetime.
Lifetime is a property of a variable that determines how long the variable exists.For example,local variable and parameters come into existence when a constructor or method is called and are destroyed when the cosntructor or method finishes.Similarly,an instance field comes into existence when an object is created and is destroyed when the object is garbage collected.
13.Define scope.
Scope is a property of variable that determines how accessible the variable is to code.For example,a parameter can be accessed only by the code within the constructor or method in which the parameter is declared.
14.What is encapsulation?
Encapsulation refers to the merging of state and behaviord into a single code entity.Instead of separating state and behaviors,which is done in structured programs,state and behaviors are combined into classe and object,which are the focus of object-based programs.
15.Define field.
A field is a variable declared within a class body.
16.What is the difference between an instance field and a class field?
An instance field describes some attribute of the real-world entity that an object is modeling and unique to each object, and a class field is identifies some data item that is shared by all object.
17.What is a blank final and how does it differ from a true constant?
A blank final is a real-only instance field.It differs from a true constant in that there are multiple copies of blank final (one per object) and only one true constant(one per class).
18.How do you prevent a field from be shadowed?
By changing the name of a same-named local variable or parameter or by qualifying the local variable's name or parameter's name with this or the class name followed by the the member access operator.
19.Define method.
A method is a named block of code declared within a class body.
20.What is the difference between an instance method and a class method?
An instance method describes some behavior of the real-world entity that an object is modeling and can access a specific object state,and a class method identifies some behavior that is common to all objects and can not access a specific object's state.
21.Define recursion.
Recursion is the act of a method invoking itself.
22.How do you overload a method?
You overload a method by introducing a method with the same name as an existing method but with a different parameter list into the same class.
23.What is a class inistializer,and what is an instance initializer?
A class inistializer is static-prefixed block that is introduced into a class body.An instance initializer is a block that is introduced into a class body as opposed to being introduced as the body of a method or a constructor.
24.Define garbage collector.
A garbage collector is code that runs in the background and occasionally checks for unreferenced object.
25.True or false:String[] letters = new String[2]{"A","B"}; is correct syntax. False,remove "2"
26.What is a ragged array?
A ragged array is a two-dimensional array in which each row can have a different number of columns.
- Summary:(省略)
Chapter 3 Discovering Classes and Object的更多相关文章
- TIJ——Chapter Seven:Reusing Classes
Reusing Classes 有两种常用方式实现类的重用,组件(在新类中创建存在类的对象)和继承. Composition syntax Every non-primitive object has ...
- TIJ——Chapter Two:Everything Is an Object
If we spoke a different language, we would perceive a somewhat different world. Ludwig Wittgenstein( ...
- TIJ——Chapter Ten:Inner Classes
先提纲挈领地来个总结: 内部类(Inner Class)有四种: member inner class,即成员内部类.可以访问外部类所有方法与成员变量.生成成员内部类对象的方法:OuterClass. ...
- Think Python - Chapter 18 - Inheritance
In this chapter I present classes to represent playing cards, decks of cards, and poker hands.If you ...
- Object Oriented Programming python
Object Oriented Programming python new concepts of the object oriented programming : class encapsula ...
- JavaScript- The Good Parts Chapter 6
Thee(你) I’ll chase(追逐:追捕) hence(因此:今后), thou(你:尔,汝) wolf in sheep’s array.—William Shakespeare, The ...
- Java提高学习之Object(5)
字符串形式的表现 Q1:toString() 方法实现了什么功能?A1:toString() 方法将根据调用它的对象返回其对象的字符串形式,通常用于debug. Q2:当 toString() 方法没 ...
- 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)
前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的 ...
- Java:Object类详解
Java的一些特性会让初学者感到困惑,但在有经验的开发者眼中,却是合情合理的.例如,新手可能不会理解Object类.这篇文章分成三个部分讲跟Object类及其方法有关的问题. 上帝类 问:什么是Obj ...
随机推荐
- ios球体弹跳游戏源码
一款耐玩的ios游戏源码,画面上有很多小星星,球体落下的时候,你需要在画面上画出一条条的线条让球体弹跳起来然后吃掉小星星,如果没借助球体就失败了.游戏有很多关卡.注意: <ignore_js_o ...
- MySQL查询昨天、今天、7天、近30天、本月、上一月数据
文章同步发表在博主网站朗度云,传输门:http://www.wolfbe.com/detail/201608/291.html 在开发或者统计时,我们可能需要统计某个表的数据.比如:查看今天新增的 ...
- 【转载】linux中互斥尽量用mutex,不用semaphore
DEFINE_MUTEX是来自include/linux/mutex.h中的一个宏,用它可以定义一把互斥锁,在Linux内核中,其实是在2005年底才建立比较系统.完善的互斥锁机制,在那年冬天,来自R ...
- cpack
一. 简介 CPack是CMake 2.4.2之后的一个内置工具,主要作用就是生成制定类型的安装包.它可以脱离cmake单独运行. 二. 基本设置 (mandatory) 设置包类型set(CPACK ...
- Spring事务:传播行为与隔离级别
文章主要来源:https://github.com/dengdaiyemanren/onetopiconeday/wiki/spring%E4%BA%8B%E5%8A%A1%E9%85%8D%E7%B ...
- LINUX下网站压力测试工具webbench
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd we ...
- 设置field的背景颜色以及对stylesheet的理解
今天遇到一个需求:在做页面输入验证的时候,如果用户没有输入某个项,那么这个项显示为红色,一直没头绪,也找peoplebook,发现field有一个style的方法,后来又在谷歌上找,终于找到了方法: ...
- canvas 绘制矩形和圆形
canvas绘制有两神方法:1).填充(fill)填充是将图形内部填满. 2).绘制边框 (stroke)绘制边框是不把图形内部填满,只是绘制图形的外框. 当我们在绘制图形的时候,首先要设定好绘制的样 ...
- android任意view爆炸效果--第三方开源--ExplosionField
犹如天女散花一样,爆炸散列,比较有趣.Android ExplosionField在github上的项目主页是:https://github.com/tyrantgit/ExplosionField ...
- 通过URLHttpConnection方式来取得图片,并且显示在ImageView上
界面: 代码xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...