Android开发——Java基础(2)

一·面向对象

1.抽象,封装,继承,多态

抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽 象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基 类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同 时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或 《设计模式精解》中关于桥梁模式的部分)。

封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。 面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是 对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一 切可隐藏的东西,只向外界提供最简单的编程接口。

多态性:程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不 确定,而是在程序运行期间才确定;不修改程序代码就可以改变程序运行时所绑定的具体代码,让 程序可以选择多个运行状态

二·容器

1.Java集合类

基本结构Collection与Map 两个不同的概念: Collection 一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保持元 素;Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序。 Map 一组成对的“键值对”对象,允许你使用键来查找值。ArrayList允许你使用数字来查找值,因此某种 意义上讲, 它将数字和对象关联在一起。映射表允许我们使用另一个对象来查找某个对象,也被称为“关 联数组”; 或者被称为“字典”,因为可以使用键对象来查找值对象 Collection相关的类 。

import java.util.ArrayList;
/**
* Created by Rust Fisher on 15-10-28.
*/
class Apple {
private static long counter;
private final long id = counter++;
public long id() {return id;}
}
class Gala extends Apple{}
class RedFuShi extends Apple {}
class Orange {

输出:
private static long counter;
private final long id = counter++;
/*复写toString方法*/
@Override
public String toString() {
return "Orange{" +
"id=" + id +
'}';
}
}
class Gerbil {
private static int counter;
private final int gerbilNumber = counter++;
public void hop(){
System.out.println(gerbilNumber + " is jumping");
}
}
public class ApplesAndOrangeWithoutGenerics {
public static void main(String args[]){
ArrayList<Apple> apples = new ArrayList<Apple>();/*使用泛型来创建*/
for (int i = 0;i < 3;i++){
apples.add(new Apple());/*添加Apple*/
}
apples.add(new Gala());/*可以将Apple的子类添加到容器中*/
apples.add(new RedFuShi());
apples.add(new Gala());
for (int i = 0;i < apples.size();i++){
System.out.print((apples.get(i)).id() + "\t");
}
System.out.println();
for (int i = 0; i < 2;i++) {
System.out.print(new Orange() + " ");
}
System.out.println();
for (Apple a : apples){
System.out.print(a + ", ");
}
System.out.println();
ArrayList<Gerbil> gerbils = new ArrayList<Gerbil>();
for (int i = 0;i < 3;i++){
gerbils.add(new Gerbil());
}
for (int i = 0;i < gerbils.size();i++){
gerbils.get(i).hop();
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值