一、对象:
对象是用来描述客观事物的一个实体,由一组属性和方法构成
对象的特征
属性——对象具有的各种特征
每个对象的每个属性都拥有特定值
方法——对象执行的操作
面向对象(OO)的优点
1)与人类的思维习惯一致
2)提高了程序的可重用性
3)信息隐藏,提高了程序的可维护性和安全性
Java 是面向对象的语言
所有Java程序都以类class为组织单元
关键字class定义自定义的数据类型
类将现实世界中的概念模拟到计算机程序中
public class 类名 {
//定义属性部分
属性1的类型 属性1;
属性2的类型 属性2;
…
属性n的类型 属性n;
//定义方法部分
方法1;
方法2;
…
方法m;
}
创建和使用对象:
使用对象的步骤
创建对象
类名 对象名 = new 类名();School center = new School();
引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
类是对象的类型,对象是类的实例
二、类:
类是同一类事物的统称
类是抽象的概念,仅仅是模板,定义对象将会拥有的特征(属性)和行为(方法)
类是对象的类型(不同于int类型:具有方法)
1、类的方法:类的方法定义类的某种行为(或功能)
1)方法的定义
定义无参的方法
权限修饰符 返回值类型 方法名() {
//方法的主体
return 返回值;
}
定义带参数的方法
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
return 返回值
}
2)方法的返回值:
如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型
如果方法没有返回值,返回值类型为void
3)权限修饰符:
Java中的权限修饰符主要包括private(私有)、public(共有)和protected(受保护)
当声明类时不使用private(私有)、public(共有)和protected(受保护)修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量或成员方法
4)方法调用:
同一个类中的方法,直接使用“方法名()”调用
不同类的方法,先创建对象,再使用“对象名.方法名()”调用
调用带参数的方法:对象名.方法名(参数1, 参数2,……,参数n)
2、类的构造方法:
构造方法无返回值
构造方法的名称与本类的类名相同
系统提供默认无参构造方法
定义语法
访问修饰符 构造方法名 ( ) { //可以指定参数
//初始化代码
}
自定义构造方法
自定义构造方法之后,系统不再提供默认无参构造方法
方法重载的规则
1)方法名相同
2)参数数据类型或参数个数不同
3)与访问修饰符和返回值无关
this关键字是对一个对象的默认引用,在构造方法中用以区分同名成员变量
三、成员变量和局部变量
变量声明的位置决定变量作用域
变量作用域确定可在程序中按变量名访问该变量的区域
在Java中对象的属性称为成员变量
局部变量:在成员方法内定义一个变量,那么这个变量称为局部变量
局部变量是在方法被执行时创建,在方法执行结束时被销毁,局部变量在使用时必须进行复制操作或被初始化,否则会出现编译错误。
成员变量和局部变量的区别:
作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
初始值不同
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值
注意:
在同一个方法中,不允许有同名局部变量,在不同的方法中,可以有同名局部变量
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
四、静态变量、常量和方法
static关键字可以用来修饰属性、方法和代码块
由static修饰的变量、常量和方法被称为静态变量、常量和方法。
被声明为static的变量、常量和方法被称为静态成员。静态成员是属于类所有的,区别于个别对象,可以在本类
或其他类使用类名和“.”运算符调用静态成员。
语法:类名.静态成员
注意:
在静态方法中不可以使用this关键字
在静态方法中不可以直接调用非静态方法
在Java中规定不能讲方法体内的局部变量声明为static
在Java程序运行时,如果有static修饰的静态代码块,优先执行静态代码块,并且静态代码块只会执行一次
static修饰与非static修饰的区别