您的位置:首页 > 编程语言 > Java开发

Java基础-巩固-比较遗忘的知识点

2017-01-14 14:08 190 查看
有了好的坚实的基础,才能盖好整个大楼;

人就是这样 越是没有实力越爱说大话 世界上只有没有实力的人 才整天希望别人赞赏 –卡卡西

1.Java中数组的内存分配

Java程序在运行时,需要在内存中分配存储空间。为了提高运算效率,对空间进行了不同区域的划分,在每一片区域都有特定的处理数据的方式和内存管理方式。

栈 存储 局部变量

堆 存储 new 的对象

方法区 本地方法区和寄存器(供cpu使用)

2.二维数组

概述:一个元素为一维数据的数据

格式

int [][] arr= new arr[m]

m表示这个二维数据有多少个一维数据

n表示这个元素里 有多少个元素

举例

int[][] arr = new int[3][2];

这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]

每个一维数组有2个元素,可以通过arr[m]
来获取

表示获取第m+1个一维数组的第n+1个元素

3.面向对象思想

1.概述:面向对象是面向过程的编程思想

特点:

- 更符合我们思想习惯的思想

- 将复杂事情简单化

- 将我们执行者变为指挥者

那么,我们就针对面向对象思想举几个例子吧。

1.买电脑:

面向过程:我要了解电脑–了解我自己的需求–找对应的参数信息–去中关村买电脑–讨价还价–买回电脑

面向对象:我知道我要买电脑 – 计算机老师去给我买 – 老师就买回来了

2.洗衣服:

面向过程:把衣服脱下–找一个盆–放点洗衣粉–加点水–把衣服扔进去–搓一搓–清洗衣服–拧干–晾起来

面向对象:把衣服脱下–打开全自动洗衣机–扔进去–一键即可–晾起来

列举了上面两个例子,我们可以看出,运用面向对象的思想可以很方便的解决我们的问题,同时我们也可以把面向对象思想的使用规则做以总结,让我们更符合面向对象思想

- A.首先分析有哪些类

- B.分析哪些类有什么功能

- C.最后分析类与类之间的关系

练习:把大象装进冰箱。

- 类与对象的关系

2.类:是一组相关的属性和行为的集合

属性 事物的基本描述

行为 事物的功能

对象 类的具体实现

3.成员变量和局部变量的区别

在类中的位置不同

成员变量——类中方法外

局部变量——方法内或者方法声明上

在内存中的位置不同

成员变量——堆内存

局部变量——栈内存

生命周期不同

成员变量——随着对象的存在而存在,随着对象的消失而消失

局部变量——随着方法的调用而存在,随着方法的调用完毕而消失

4.封装(Encapsulation),继承,多态 (三大属性)

封装的概述:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处:隐藏实现细节,提供公共的访问方式

提高了代码的复用性

提高安全性

原则:

将不需要对外提供的内容都隐藏起来

把属性隐藏,提供公共方法对其访问

5.抽象类与接口的区别

成员区别

抽象类

成员变量 可以常量 也可以是变量

构造方法 有

成员方法:可抽象 可非抽象

-接口

-只能是常量

-只可以抽象

设计理念的区别

- 抽象类

被继承体现是“is a ”的关系

抽象类中定义是该继承体系的共性功能

-接口

-被实现的是“is a”的关系

-接口中定义是该继承体系扩展功能

4.多态 (三大属性之一)

概述:某一个事物,在不同时刻表现出来的不同状态。

我们来举例说明:

- 猫是猫,狗是狗,猫和狗都是动物。

- 水在不同环境下的状态不同(液体,固体,气态)。

那么使用多态的前提是什么呢?

要有继承关系。

有方法的重写。

3.要有父类引用指向子类对象。

父 f =  new 子();
下面我们用代码来体现
//父 f =  new 子();
Fu f = new Zi();
System.out.println(f.num);
//找不到符号
//System.out.println(f.num2);
f.show();
//f.method();
f.function();


输出结果:

100
show Zi
function Fu


多态的好处和弊端:

提高了代码的维护性(继承保证)

提高了代码的扩展性(由多态保证)

坏处

不能使用子类的特有功能。 (多态中的转型 可以访问)

多态中的转型

向上转型

- Fu f = new Zi();

- 父类引用指向子类对象

向下转型

- Zi z = (Zi)f;//要求该f必须是能够转换为Zi的。

5.内部类

概述:把类定义在其他类的内部,这个类就被称为内部类。

举例:在类A中定义了一个类B,类B就是内部类。

特点:

内部类可以直接访问外部类的成员,包括私有。

外部类要访问内部类的成员,必须创建对象。

内部类位置 :

成员位置:在成员位置定义的类,被称为成员内部类。

局部位置:在局部位置定义的类,被称为局部内部类。

如果像访问内部类对象,要这样 创建

//格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
Outer.Inner oi = new Outer().new Inner();
//Inner io = new Innner();//这样是访问不到的


成员内部的常见修饰符

private 为了保证数据的安全性

static 为了让数据访问更方便

被静态修饰的成员内部类只能访问外部类的静态成员

//成员内部类被静态修饰后的访问方式是:
Outer.Inner.show2();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: