面向对象1

面向对象

java类及类的成员:

? 属性、方法、构造器、代码块、内部类

面向对象的三大特征:

? 封装性、继承性、多态性、(抽象性)

面向过程(POP):

? 强调的是功能行为,以函数为最小单位,考虑的是怎么做

面向对象(OOP):

? 强调的是具备了功能的对象,以类(对象)为最小单位,考虑的是谁来做

 

 

需要注意的知识点:

匿名对象:

? 声明对象一般包括两个步骤:第一个是在堆内存中生成这个对象,第二个是将该对象在堆内存中的首地址赋值给栈内存中的变量,使之成为引用变量。
匿名对象其实就是说省略了第二步,匿名对象经常用于形参传递值的时候。

优势:

? 1、我们可以节省一部分存储匿名对象引用的栈内存2、方便简洁

可变个数形参:

? jdk5.0的时候开始加入,其实就是数组(jdk5.0之前就是使用的数组),并且我们如果在同一个类中同时定义 以下两个函数:

public void show(String ... strings){
    
}
public void show (String[] strings){
    
}

? 是会报错的,因为他们两个就是一样的。看起来没啥用,但是可以省一部分时间。

使用注意:

? 可变个数形参必须在参数列表的末尾,并且同一个方法最多使用一个可变个数参数

方法参数传递机制:

? 可以参考c++中的值传递和引用传递

? 在java中我们进行基本数据类型和引用数据类型的传递时,是不同的。

? 基本数据类型:

? 数据的值直接放在栈内存中。所以我们在进行参数传递的时候,他就是值传递 (C++)类似于:

int a=1;
int b=a;

? 我们虽然将a赋值给了b但是,a 和b在内存中依然是两个对象

? 引用数据类型

? 对象是存放在堆内存中的,栈内存中是存放的引用值。所以我们在进行参数传递的时候,他就是引用传递 (C++)类似于

int& a=new int[1];
int& b=a;

? a和b存放的是地址,是指针,在java中其实也是一样的,只不过是栈内存中存放着堆的地址值(栈中的变量就类似于C++中的指针)

javaBean:

? 所谓的javaBean是符合以下标准的java类:

? 1、类是公共的2、有一个无参的构造器(public)3、有和属性对应的get和set方法(public)

面向对象1

上一篇:如何自动清理从 Mac 到 Dropbox 的屏幕截图?


下一篇:移动端布局