面向对象的编程概念
什么是对象
什么是类
什么是继承
extends
什么是接口
要实际编译ACMEBicycle该类,您需要将public关键字添加到已实现的接口方法的开头
interface
implements
什么是包
Java平台提供了适合在您自己的应用程序中使用的庞大的类库(一组软件包)。该库称为“应用程序编程接口”或简称“ API”。它的程序包代表与通用编程最常关联的任务。
问题
- 实际对象包含状态和行为。
- 软件对象的状态存储在成员变量中。
- 软件对象的行为是通过方法公开的。
- 隐藏来自外部世界的内部数据,并仅通过公开公开的方法访问它,这被称为数据封装。
- 软件对象的蓝图称为类。
- 可以在超类中定义常见行为,并使用extends关键字将其继承到子类中。
- 没有实现的方法的集合称为接口。
- 通过功能组织类和接口的名称空间称为包。
- 术语API代表应用程序编程接口。
语言基础
变量
- 术语“实例变量” 是非静态字段的另一个名称。
- 术语“类变量”是静态字段的另一个名称。
- 局部变量存储临时状态;它在方法内部声明。
- 在方法的开始和结束括号内声明的变量称为参数。
- Java编程语言支持八种原始数据类型?byte, short, int, long, float, double, boolean, char
- 字符串由类java.lang.String表示。
- 一个元组是保持单一类型的值的固定数目的容器对象。
运算符
- 考虑以下代码片段:
arrayOfInts [j]> arrayOfInts [j + 1] 问题:代码包含哪些运算符? 答: >,+
- 考虑以下代码片段:
整数i = 10; int n = i ++%5; 问题:代码执行后i和n之后的值是什么? 答案: i是11,n是0。 问题:如果不是使用后缀增量运算符(i++),您可以使用前缀版本(++i)),最终值i和n是什么? 答案: i是11,n是1。
- 问题:要反转的值,boolean您将使用哪个运算符?
答:逻辑补运算符“!”。
- 问题:哪个运算符用于比较两个值,=或者==?
答:该==操作被用于比较,并=用于赋值。
- 问题:解释以下代码示例:result = someCondition ?
value1 : value2; 答案:此代码应读为:“如果someCondition是true,则将value1的值赋值result。。否则,将value2的值赋值result。”
- 更改以下程序以使用复合分配:
class ArithmeticDemo { public static void main (String[] args){ int result = 1 + 2; // result is now 3 System.out.println(result); result = result - 1; // result is now 2 System.out.println(result); result = result * 2; // result is now 4 System.out.println(result); result = result / 2; // result is now 2 System.out.println(result); result = result + 8; // result is now 10 result = result % 7; // result is now 3 System.out.println(result); } } 这是一种解决方案: class ArithmeticDemo { public static void main (String[] args){ int result = 3; System.out.println(result); result -= 1; // result is now 2 System.out.println(result); result *= 2; // result is now 4 System.out.println(result); result /= 2; // result is now 2 System.out.println(result); result += 8; // result is now 10 result %= 7; // result is now 3 System.out.println(result); } }
- 在以下程序中,解释为什么连续两次打印值“ 6”:
class PrePostDemo { public static void main(String[] args){ int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" } } 该代码的System.out.println(++i);计算结果为6,因为前缀版本的++计算结果为递增值。下一行System.out.println(i++);计算为当前值(6),然后加1。因此,直到下一行才打印“ 7”。
表达式,语句和块
-
运算符可用于构建计算值的表达式。
-
表达式是语句的核心组成部分。
-
语句可以分为多个块。
-
以下代码段是复合表达式的示例。1 * 2 * 3
-
语句与自然语言中的句子大致等效,但是语句不是以句号结尾,而是以分号结尾。
-
块是平衡括号之间的零个或多个语句的组,可在允许单个语句的任何地方使用。
-
标识以下几种表达式语句:
aValue = 8933.234; // assignment statement aValue++; // increment statement System.out.println("Hello World!"); // method invocation statement Bicycle myBike = new Bicycle(); // object creation statement
流程控制语句
-
Java编程语言支持的最基本的控制流语句是if-then语句。
-
所述开关语句允许用于任何数目的可能的执行路径。
-
该do-while语句是类似while声明,但在评估其表达底循环。
- 问题:如何使用该for语句编写无限循环?
for ( ; ; ) { }
- 问题:如何使用该while语句编写无限循环?
while (true) { }
类和对象
类声明的顺序
- 修饰符,例如
public,private
和以后将遇到的许多其他修饰符。 - 类名,
首字母大写
为约定。 - 类的父级(超类)的名称(如果有的话),以关键字
extends
开头。一个类只能扩展(子类)一个父级。 - 由类实现的接口的列表,以逗号分隔(如果有的话),并以关键字
implements
开头。一个类可以实现多个接口。 - 类主体,用大括号
{}
包围。
变量类型
- 类中的成员变量,这些变量称为成员变量field。
- 方法或代码块中的变量 -这些称为局部变量 local variables。
- 方法声明中的变量-称为参数parameters。
构造方法
- 构造函数声明看起来像方法声明,只是它们使用类的名称并且没有返回类型。
- 编译器会自动为任何没有构造函数的类提供无参数的默认构造函数。此默认构造函数将调用超类的无参数构造函数。
- 如果另一个类不能调用MyClass构造方法,则它不能直接创建MyClass对象。
- 您以使用varargs的构造将任意数量的值传递给方法。当您不知道将多少种特定类型的参数传递给方法时,可以使用varargs