JAVASE-1
一、类和对象
1.1 什么是对象
1.2 什么是类
类是对象的集合,就是一个概念,通过这个概念,可以知道同一类的对象具有的共同的属性和方法,只是属性值不同而已。
类是抽象的。
1.3 类和对象的关系是什么
类和对象的关系是抽象和实体(实例)的关系。
程序里,通过类来创建对象,因为类里已经指定好了,它这一类对象应该具备哪些属性和方法。
类是对象的数据类型。
1.4 java程序中怎么使用对象
1.5 怎么创建类
定义一个类的步骤
- 定义类名
- 编写类的属性
- 编写类的方法
1.6 通过类创建对象,并使用对象
-
创建对象
Dog dog; dog=new Dog(); //或者 Dog dog=new Dog();
-
调用对象的属性
对象名.属性名dog.name = "乐乐";
-
调用方法
对象名.方法名();dog.sleep();
1.7 对象数组
对象数组:数组里存的数据是对象
二、方法
方法是对象具有的独立的功能,属于对象的一部分,类里的一部分成员( 类里的成员是:属性和方法)。
// 方法
// 访问权限 修饰符 返回值类型 方法名(参数列表){
// 方法体
//
// return 返回值
// }
- 访问权限和修饰符是可选的,告诉编辑器如何调用该方法
- 返回值类型,方法可能会有返回值,当有返回值的时候,返回值类型是该返回值的类型,且方法体中必须要有return,return之后不能再有语句。当没有返回值的时候,返回值类型是void
- 方法名:是方法的实际名称,方法名和参数列表共同构成方法签名
- 方法体是包含具体的语句,定义该方法的功能
2.1 方法的调用
- 同一个类里的方法调用,直接调用 — 方法名();
- 不同的类里进行方法调用,要用 — 对象名.方法名();
2.2 面向对象解决方法的思路
- 分析项目中有几类对象参与;
- 分析出来每一个类中的属性和方法
- 套用类的语法,写出各种类
- 编写程序入口,实现逻辑;
2.3 局部变量与成员变量的区别
声明在方法里的变量是局部变量,类的属性是成员变量。区别:
- 声明的位置不同;
- 作用范围不同,只在声明他们的大括号里好用;
- 声明之后的初始值不同,局部变量没有默认值,成员变量是有默认值;
- 成员变量和局部变量可以重名,局部变量具有更高的优先级;
注:不在同一个包里的类不可以直接使用,需要用import先导入该类的包,之后才可以使用。
三、构造方法
3.1 特点和执行的时间点
构造方法是在创建类的对象时被执行,不能被调用,构造是构造对象,如果一个类没有构造方法,不能被创建对象,如果一个类里没有写构造方法,系统默认为这个类分配一个无参构造方法。每一次new对象的时候,都是执行默认构造方法。
构造方法的特点:
- 该方法没有返回值类型
- 该方法的方法名必须是该类的名字
- 只在创建对象时,new 对象时被执行
3.2 无参构造方法和带参构造方法
带参构造方法:
无参构造方法:
3.3 方法重载
方法重载的条件
- 在同一个类里
- 方法名相同
- 参数项不同(参数的个数,参数的类型)
调用方法时,系统会根据传递的实参的个数以及数据类型来找到与它匹配的方法。执行该方法。如果没找到合适的方法,编译错误。
3.4 static的作用
static静态的意思:修饰类里的属性,方法,代码块,static修饰后的成员就不是该类的对象的成员,它是属于该类,调用的时候,类名.静态属性名。
动态代码块:在创建对象的时候执行一次,但是在构造方法之前执行。
静态代码块:当第一次访问该代码块所在的类的时候,执行一次,以后再也不执行。
构造方法:永远是在代码块之后执行。
3.5 封装
封装是信息的隐藏,是面向对象的三大特征之一,是将类里的属性封装起来。
封装属性的步骤:
- 类里的所有属性写成私有化的 private 修饰。
- 用快捷键 shift+alt+s 选择 gengnate getters and setters,生成所有属性的get和set方法,get方法是读属性值,set方法是给属性赋值。
- 如果某些属性在赋值时,需要一些逻辑验证,去相应的set方法修改代码。