标签:head messages 类的成员 span 就是 相关 接口 bst substring
1. 迭代器
iterator()
获取迭代器的实现类对象,使用Iterator接口Iterator接口接受(多态)hasNext()
判断还没有没有下一个元素next()
取出集合中的下一个元素2. for循环的使用
用来遍历集合和数组
for (集合/数组的数据类型 变量名 : 集合名/数组名){
System.out.println(变量名);
}
1. 类与对象
2. UML类图
3. 静态类
4. 方法重载:两个或多个方法具有相同的名字。
5. 测试:测试的目的是发现错误,通过发现错误并修改它们来改进程序的质量。
get()
方法,采用的即是随机访问的方法,因此在ArrayList里for循环快。next()
方法采用的是顺序访问方法,因此在LinkedList里使用Iterator较快。static
关键字会改变类中成员的访问权限吗?static
关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private
、public
、protected
(包括包访问权限)这几个关键字。this
访问静态成员变量吗?public class Main {
static int value = 33;
public static void main(String[] args) throws Exception{
new Main().printValue();
}
private void printValue(){
int value = 3;
System.out.println(this.value);
}
}
this
代表当前对象,那么通过new Main()
来调用printValue
的话,当前对象就是通过new Main()
生成的对象。而static
变量是被对象所享有的,因此在printValue
中的this.value
的值毫无疑问是33。在printValue
方法内部的value
是局部变量,根本不可能与this
关联,所以输出结果是33。
静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。
public interface Nameable
{
public static setName(String Name);
public String getName();
}
“接口是个规范”,这句没错。“不如直接就在这个类中写实现方法岂不是更便捷”,你怎么保证这个接口就一个类去实现呢?如果多个类去实现同一个接口,程序怎么知道他们是有关联的呢?既然不是一个类去实现,那就是有很多地方有用到,大家需要统一标准。甚至有的编程语言(Object-C)已经不把接口叫 interface,直接叫 protocol。统一标准的目的,是大家都知道这个是做什么的,但是具体不用知道具体怎么做。比如说:我知道 Comparable 这个接口是用来比较两个对象的,那么如何去比较呢?数字有数字的比较方法,字符串有字符串的比较方法,学生(自己定义的类)也有自己的比较方法。然后,在另外一个负责对象排序(不一定是数字喔)的代码里面,肯定需要将两个对象比较。这两个对象是什么类型呢?Object a,b?肯定不行,a > b 这样的语法无法通过编译。int a,b?也不行?一开始就说了,不一定是数字。....所以,Comparable 就来了。他告诉编译器,a b 两个对象都满足 Comparable 接口,也就是他们是可以进行比较的。具体怎么比较,这段程序不需要知道。所以,他需要一些具体的实现,Comparable 接口有一个方法,叫 compareTo。那么这个方法就是用来取代 <、> 这样的运算符。因为运算符是编译器保留给内置类型(整数、浮点数)进行比较用的,而不是一个广义的比较运算。如果你可以明白 JDK 自身库里面诸如 Comparable 这样已经有的接口,那么就很容易理解自己在开发程序的时候为什么需要用到接口了。
四点关于JAVA中接口存在的意义(提高方法步骤灵活性):
1、重要性:abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力;
2、简单、规范性:接口不仅告诉开发人员你需要实现那些业务,而且也将命名规范限制住了(防止一些开发人员随便命名导致别的程序员无法看明白) ;
3、维护、拓展性;
4、安全、严密性:接口是实现软件松耦合的重要手段,它描叙了系统对外的所有服务,而不涉及任何具体的实现细节。
java.util.Random
(or java.util.*
). What will happen when you attempt to compile and run your program.enum Speed { FAST, MEDIUM, SLOW };
Speed.FAST.ordinal( )
is zero, Speed.MEDIUM.ordinal( )
is one, and Speed.SLOW.ordinal( )
is two.(枚举的序数值从零开始,按从左到右的升序排列。所以,speed.fast.ordinal()
为0,speed.medium.ordinal()
为1,speed.slow.ordinal()
为2。)import package.*.*
;import package.A.*;
import package.B.*;
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 254/254 | 2/2 | 21/21 | 开始编写简单的程序 |
第二周 | 132/386 | 1/3 | 26/47 | 学会使用Scanner类 |
第三周 | 632/1018 | 2/5 | 21/68 | 学会使用部分常用类 |
第四周 | 663/1681 | 2/7 | 27/95 | junit测试和编写类 |
计划学习时间:20小时
实际学习时间:27小时
20182303 2019-2020-1 《数据结构与面向对象程序设计》第4周学习总结
标签:head messages 类的成员 span 就是 相关 接口 bst substring
原文地址:https://www.cnblogs.com/zdyyy/p/11614162.html