JAVA学习笔记-03

面向对象其实是思考的一种思想。以前的是面向过程

面向过程:强调的是功能的行为。也就是强调的是动作

面向对象:将功能封装进对象,强调具备了功能的对象。

面向对象简单来说就是一种实物,其含有某些特定的功能

面向对象有三个特征:封装,继承,多态

以后的开发就是找对象使用,没有对象就创建对象。找对象,建对象,使用对象并维护对象的关系

类与对象的关系:

类:就是对现实生活中事物的描述

对象:就是这类事物实实在在存在的个体

描述就是class定义的类,具体对象就是对应JAVA在堆内存中使用new建立的实体

类:

属性对应的就是类的变量

行为对应类中的方法(函数)

定义类就是定义属性和行为

类名 别名=new 类名() 创建对象方法;其中别名就是类类型变量

多个引用指向同一个对象,随着改变而改变。

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

成员变量作用于整个类当中

局部变量作用于函数中(方法)或与语句中

成员变量:在堆内存中,因为对象存在才在内存中存在

局部变量:存在栈内存中

匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成   new 类名().类中的方法。如果对一个对象进行多个成员调用,必须给这个对象取个名字

匿名对象使用方式二:可以将匿名对象作为实际参数进行传递

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

private:私有,权限修饰符:用于修饰类中的成员变量和成员函数。私有只在本类中有效

把成员变量变成私有化,要访问私有的就需要增加一个公共函数来对外提供访问方式。

一个成员变量对应两个访问方式,一个设置一个获取。也就是set()和get()。set一般是以void没有返回值并且要跟着参数。 get对应的是成员变量的数据类型。

 私有仅仅是封装的一种表现形式。

构造函数:

特点:1.函数名和类名相同  2.不用定义返回值类型  3.不可以写return语句

作用:给对象进行初始化

当一个类中没有构造函数时,那么系统会默认给该类加入一个空参数的构造函数

当在类中自定义了一个函数,默认的构造函数就没了。

构造函数也可以进行函数的重载。函数的重载是函数名相同,参数列表不同

构造函数和一般函数在写法上不同,在运行上也不同。构造函数是在对象一建立就运行,给对象初始化。而一般方法是对象调用才执行,是给对象添加对象具备的功能。一个对象建立构造函数只运行一次,而一般方法可以被该对象调用多次。

构造代码块:

作用:给对象进行初始化,对象一建立就运行。而且优先于构造函数执行

构造代码块定义的是不同对象共性的初始化内容

和构造函数的区别:

构造代码块是给所有的对象进行统一的初始化

构造函数是给对应的对象进行初始化

this关键字用法:

用于区分局部变量和成员变量同名的情况。this代表的是本类的对象。哪个对象在调用this所在的函数,那this就代表哪个函数

当定义类中的函数时,该函数内部要用到调用该函数的对象时,用this来表示这个对象

this语句:用于构造函数之间进行互相调用

this语句只能定义再构造函数的第一行

static关键字 (静态)

用法:用于修饰成员(成员变量,成员函数),静态修饰内容被对象所共享。而且除了可以被对象调用外还可以被类名调用。格式为类名.静态成员

在类中没有带static的成员变量又叫做实例变量,带有static的成员变量叫类变量。

static特点:

内存部分:随着类的加载而加载,被所有对象所共享,优先于对象存在,可以直接被类名所调用

实例变量和类变量的区别:

1,类变量随着类的加载而存在于方法区中,实例变量随着对象的建立而存在堆内存中

2,类变量生命周期最长,随着类的消失而消失。实例变量生命周期随着对象的消失而消失

静态static使用注意事项:

1.静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问静态

2.静态方法中不可以定义this,super关键字,因为静态优先于对象存在,所以静态方法中不可以出现this。

3.静态使用是在具有共有性的时候才使用。

4.主函数是静态的。主函数是特殊的函数可以被jvm调用。作为程序的入口  

原文地址:https://www.cnblogs.com/guaikakani/p/10684792.html