面向对象absstract
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,有对象强调功能
抽象object:从事物中舍弃个别的非本质特征,抽取共同的本质特征
只考虑与问题域相关的信息,而忽略与问题域不相关的部分
对象:是系统中用来描述客观事物的实体;创建对象:类名 对象名 = new类名();
①可以是有形的也可以是无形的
②是构成世界的一个独立单位
③具有自己的静态结构(属性)和动态行为(方法)
④每个对象有自己唯一的标识
类class
类是一组具有相同标识和行为的对象的抽象,类的作用是用来创建对象,对象是类的一个实例,写方法时不谢static关键字
类对象的关系:抽象和具体的关系
每一个类在某一刻都有0或多个实例,类是生成对象的模板
特点:A:是一种符合我们思考习惯的思想
B:可以将复杂的事情简单化
C:将我们从执行者变成指挥着
写在类中的变量:成员变量
不需要初始化值,会默认给,在堆内存中
写在方法里的变量:局部变量
没有默认值,在栈内存中
在其他类中使用某个class的(成员变量和方法)必须先new对象,然后使用(对象.属性)或(对象.方法)的方式进行使用当局部变量和成员变量同名时,需要使用(this.变量名)指明是成员变量
类的定义:是用来描述现实世界的事物的
事物:属性:事物的描述信息------成员变量-----------对象名.变量名
行为:事物能够做什么------成员方法-----------对象名.方法名(……)
生命周期
成员变量:随着对象的创建而创建,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
构造器constructor
构造方法:也是方法,特殊的方法
所有的对象都是通过构造器来创建的
创建对象 类名 对象名 = new 构造方法();
特点:1、构造方法名必须与类名相同
2、不写返回值类型
3、不谢return值
作用:用于创建对象
引用数据类型()叫构造器
调用方式 new 构造器;
载Java中,每一个类都至少要有一个构造器
当一个class没写构造器时,系统会默认为该类创建一个无参构造器
当已经声明构造器时,就不给该类创建无参构造器,需要自己写
private:是一个修饰符
可以修饰成员变量,也可以修饰成员方法
陪private修饰的成员只能在本类中被访问
针对private修饰的成员变量,我们会相应的提供get()获取、set()赋值
用于获取和设置成员变量的值,方法用public修饰
import Java.util.*; 通配符
1、(import 包名.类名)
2、(包名.修饰类名)---引用另一个包的class
2的优先级高于1
面向对象三大特点:封装继承多态
static静态
1、static修饰的变量,方法归属于类,可以使用类名.属性(方法)获取
也可以通过new对象后,通过对象进行获取
2、同一个类型的不同变量共享static属性(方法)
3、同一个类中static方法不能直接调用,非static属性(方法)需要new当前类对象后才能调用
不能修饰构造器,不能使用this关键字
4、非static方法中可以使用static属性(方法)和非static属性(方法)
静态方法只能直接使用静态资源,非静态方法可以使用静态资源和非静态资源
如果局部变量名和成员变量名相同,在局部使用时采用就近原则
成员赋值方法:1、set();2、构造器
类名作为形式参数:其实这里需要的是该类的对象
类名作为返回值:其实返回的是该类的对象
栈:存储速度比堆快,效率高,保存基本数据类型的局部变量
和对象的引用值
堆:存的是对象的属性,数组的元素
断点调试
作用:
A:查看程序的执行流程
B:调试程序
断点:其实就是一个标记
哪里不会点哪里,在代码区的左边双击即可
运行 右键---DebugAs--JavaApplication
按f6往下执行
看哪些区域:
1、代码区:看执行流程
2、Debug:看执行流程
3、Variables:看变量的变化
4、console:看输入和输出
去掉断点:1、双击即可
2、在debug视图中,找到breakpoints,选中删除的断点,点双“xx”即可
执行顺序:
static代码块,构造代码块,构造器
静态代码块只能执行一次经常用来进行类属性的初始化
注意:断点必须加在有效位置上
网友评论