java基础学习之-05

来源:互联网 发布:薛之谦小孩知乎 编辑:程序博客网 时间:2024/05/18 03:28

面向对象相关的知识点:

         1.面向对象思想:面向对象是基于面向过程的编程思想

            面向对象思想特点 :

                   是一种更符合我们思想习惯的思想

                   可以将复杂的事情简单化

                   将我们从执行者变成了指挥者

 

         面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情

         面向对象设计:其实就是在管理和维护对象之间的关系

面向对象的特征:

封装(encapsulation)

继承(inheritance)

多态(polymorphism

 

       2.  成员变量和局部变量的区别:

            在类中的位置不同

成员变量 方法外类内

局部变量 方法内或者方法声明上(方法列表)

在内存中的位置不同

成员变量 堆内存

局部变量 栈内存

生命周期不同

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

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

初始化值不同

成员变量 有默认的初始化值

局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。

 

3.形式参数问题:

         基本类型:形式参数的值改变不影响实际参数的值

引用类型:形式参数的值改变直接改变实际参数的值,因为指向的是同一块内存区域

 

4.匿名对象:

   匿名对象:就是没有名字的对象。

是对象的一种简化表示形式

匿名对象的两种使用情况

对象调用方法仅仅一次的时候

作为实际参数传递

 

        

5.封装概述:

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

好处:

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

提高了代码的复用性

提高安全性。

封装原则:

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

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

 

 

    6.    Private关键字:

                   是一个权限修饰符

                   可以修饰成员(成员变量和成员方法)

                   被private修饰的成员只有在本类中才能访问

private最常见的应用:

把成员变量用private修饰

提供对应的getXxx()/setXxx()方法

一个标准的案例的使用

 

 

7.this关键字

this:代表所在类的对象引用

this所在的方法正在被哪个对象调用,this就代表哪个对象

 

 

8.构造方法;

构造方法作用概述

给对象的数据进行初始化

构造方法格式

方法名与类名相同

没有返回值类型,连void都没有

没有具体的返回值

构造方法注意事项

如果你不提供构造方法,系统会给出默认构造方法

如果你提供了构造方法,系统将不再提供

构造方法也是可以重载的

虽然构造方法没有返回值,但是也可以写一个return,在最后写return;这种做法在任何void类型的方法最后都是没有问题的。

 

9.类的成员方法的分类:

根据返回值

有明确返回值方法

返回void类型的方法

根据形式参数

无参方法

带参方法

                  

10.一个javaBean的标准写法

成员变量

构造方法

无参构造方法

带参构造方法

成员方法

getXxx()

setXxx()

初始化时给成员变量赋值的方式

setXxx()

带参构造方法

 

 

11.类的初始化过程

Person s = new Person ();在内存中做了哪些事情?

1加载Person .class文件进内存

2在栈内存为s开辟空间

3在堆内存为人类对象开辟空间

4对人类对象的成员变量进行默认初始化

5对人类对象的成员变量进行显示初始化

6通过构造方法对人类对象的成员变量赋值

7人类对象初始化完毕,把对象地址赋值给s变量

 

12.Static关键字:

可以修饰成员变量和成员方法

static关键字特点

随着类的加载而加载

优先于对象存在

被类的所有对象共享

这也是我们判断是否使用静态关键字的条件

可以通过类名调用

static关键字注意事项

在静态方法中是没有this关键字的

静态方法只能访问静态的成员变量和静态的成员方法

 

13.静态变量和成员变量的区别

所属不同

静态变量属于类,所以也称为为类变量

成员变量属于对象,所以也称为实例变量(对象变量)

内存中位置不同

静态变量存储于方法区的静态区

成员变量存储于堆内存

生命周期不同

静态变量随着类的加载而加载,随着类的消失而消失

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

调用不同

静态变量可以通过类名调用,也可以通过对象调用

成员变量只能通过对象名调用

 

14.Main方法是静态的

public static void main(String[]args) {}

public 被jvm调用,访问权限足够大。

static 被jvm调用,不用创建对象,直接类名访问

void被jvm调用,不需要给jvm返回值

main 一个通用的名称,虽然不是关键字,但是被jvm识别

String[] args 以前用于接收键盘录入的

0 0