总结
面向对象-类和对象
面向对象概念
就是一种编程思想,是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
什么是类?
类是具备某些共同特征的实体的集合,是对所具有相同特征实体的抽象, 例如人类、车类、星球类,动物类, 猪类等。
什么是对象?
对象是类的实例,简单的认为对象就是类中具体的个体。
对象划分为两个部分,即动态部分(方法)与静态部分(成员变量)。
静态部分:顾名思义就是不能动的部分,这个部分被称为“属性”,如一个人,它包括高矮、胖瘦、性别、年龄等属性——成员变量。
动态部分:人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分)——方法。
设计类要求:
1.类名,大驼峰,见名知意,不能以jdk中存在的类命名
2.成员变量名和方法名,小驼峰,见名知意
3.在类名、方法名、成员变量名上面写文档注释
修饰符概念
对Java当中的,类,变量,方法,构造方法等等.....进行修饰,赋予被修饰内容特殊意义。
类修饰符
public(访问控制符): 将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
abstract:将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final:将一个类申明为最终(即非继承类),表示他不能被其他类继承。
默认不写:默认的修饰符,只有在相同包中的对象才能使用这样的类。
3.2.2.2 成员变量修饰符
public(公共访问控制符):指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符):指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。
protected(保护访问控制符):指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。
默认不写 :在同一个包中的类可以访问,其他包中的类不能访问。
final:最终修饰符,指定此变量的值不能变。
static(静态修饰符):指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。
transient(过度修饰符):指定该变量是系统保留,暂无特别作用的临时性变量。
volatile:指定该变量可以同时被几个线程控制和修改。
方法修饰符
public(公共控制符: 指定此方法可以被自己和其他的类访问
private(私有控制符):指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符):指定该方法可以被它的类和子类进行访问。
final:指定该方法不能被重载。
static:指定不需要实例化就可以激活的一个方法。
synchronize:同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
native:本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的
测试类的写法:
1. 创建对象
2. 给对象成员变量赋值
3. 打印:对象取值
4. 对象调用方法
构造方法
概念:就是一个类中的新结构,是类的成员。
- 构造方法的结构和普通方法类似,但是和普通方法完全不同两个代码块;
- 构造方法也是方法,意味着使用了构造方法,方法会执行,也能完成功能
- 构造方法就是一个代码块【就是一个结构 ,构造方法和 字段 方法一样都是一个类中的成员之一】
- 构造方法也该存在于类的结构体中
构造方法特点
- 每一个类中都至少有一个构造方法;
- 如果没有看到(显示的),那么存在一个隐式的无参数的构造方法;
- 如果一个类中有显示的构造方法,那么隐式的无参的构造方法就不存在了;
构造方法的作用
作用是:在创建对象的时候,直接给对象成员变量赋值,可以简化代码
注意:
1.只能在创建的时候赋值,不能给已经创建的对象赋值。
2.构造方法一旦通过 new调用,都表示在堆中创建新对象,只要看到new,都表示在堆中创建新对象。
构造方法语法
构造方法声明语法:
1. 构造方法的名字和类名完全一致(包括大小写完全一致)。
2. 没有返回值类型(void也不行)。
3. 构造方法方法体不能返回任何的值(即不能在方法体中return 值)。
4. 其他的和普通方法类似 ,可以有修饰符(public、protected、private、默认),可以有形参列表。
5. 构造方法必须有方法体。
6. 构造方法不能有任何非访问性质的修饰符修饰,例如 static、final、synchronized、abstract等都不能修饰构造方法。
构造方法使用语法:
new 类名();// 调用无参构造
new 类名(...);// 调用有参构造
设计类语法:
public class 类名 {
小驼峰成员变量 (字段);
修饰符 Xxx(...){// 构造方法大驼峰类名
构造方法的方法体
};
修饰符 xxxXxx(...){// 普通方法小驼峰
普通方法 体
}
}
构造方法注意事项
- 普通方法不要和类名一致,行业默认规则。
- 普通方法(Method)和构造方法(Constructor)是不同的两种结构。
2.1 普通方法的调用 : 3种
2.1.1 类名.方法名(…); --有static修饰的
2.1.2 对象名.方法名(…); --没有static修饰的
2.1.3 方法名(…); --同一个类里面都有static或都没有static修饰
2.2 构造方法的调用 :new 类名(...);(目前为止)
构造方法小结
给对象成员变量赋值方式:
-
对象名.成员变量 = 值;// 值和成员变量数据类型一致
-
有参构造: new 类名(...);// 实参和成员变量数据类型一致
对象取值方式:对象名.成员变量
注意:
有参构造不能给已经创建的对象赋值,如果必须给已经创建的对象重新赋值,只能通过:对象名.成员变量 = 值;的方式实现。
有参构造和无参构造使用场景
当对象需要赋值的成员变量 很多 的时候,用:无参构造创建对象,然后用 对象名.成员变量 = 值; 方式赋值。
当对象需要赋值的成员变量 少 的时候,用:有参构造创建对象直接赋值即可。
匿名对象
概念:匿名对象,就是创建的时候没有使用变量接收保存一个对象。
但是匿名对象本质也是一个对象(具体的值)
匿名对象作用:可以节约资源,因为GC【垃圾回收器】会不定时回收匿名对象。
匿名对象使用场景:匿名对象一般用在:只需要使用一次的情况(如:调用一次非static修饰的普通方法、作为方法实参使用)
标签:总结,变量,构造方法,对象,修饰符,面向对象,方法,类名 From: https://www.cnblogs.com/JunYuanStudy/p/17933526.html