类与对象
对象:描述客观事物的一个实体
类:具有相同属性和方法的一组对象的集合.
对象拥有类的属性和方法,是类的一个实例,就像模具与模具制作的物品之间的关系。
1.1、类的定义:
访问修饰符 class 类名{ }
Java 类名的命名规则:
类名应该以下划线(_)或字母开头,最好以字母开头。第一个字母大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
类名不能为 Java 中的关键字,例如 boolean、this、int 等。
类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。
访问修饰符: public,protected,friendly(或default),private
1. private
用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。例如,设 PhoneCard 是电话卡类,电话卡都有密码,因此该类有一个密码域,可以把该类的密码域声明为私有成员。
2. friendly(默认)
如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性(package private)。
同样,类内的成员如果没有访问控制符,也说明它们具有包访问性,或称为友元(friend)。定义在同一个文件夹中的所有类属于一个包,所以前面的程序要把用户自定义的类放在同一个文件夹中(Java 项目默认的包),以便不加修饰符也能运行。
3. protected
用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。使用 protected 修饰符的主要作用,是允许其他包中它的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
4. public
当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。
类中被设定为 public 的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,实际就是数据封装思想的体现。每个 Java 程序的主类都必须是 public 类,也是基于相同的原因。
1.2属性:对象拥有的特征
访问修饰符 数据类型 属性名;
属性名:一般是满足小驼峰命名,也就是第一个单词子母小写,后面单词的第一个首字符均大写
数据类型:主要分为基本数据类型和引用数据类型,也就是八大基本数据类型和引用数据类型中的类,数组和接口;
常用的: boolean, byte,short,int,long,char,float,double 和String
初始化的默认值如下:
整数型(byte、short、int 和 long)的基本类型变量的默认值为 0。
单精度浮点型(float)的基本类型变量的默认值为 0.0f。
双精度浮点型(double)的基本类型变量的默认值为 0.0d。
字符型(char)的基本类型变量的默认值为 “u0000”。
布尔型的基本类型变量的默认值为 false。
数组引用类型的变量的默认值为 null。如果创建了数组变量的实例,但没有显式地为每个元素赋值,则数组中的元素初始化值采用数组数据类型对应的默认值。
注意:成员变量可以不用赋值,局部变量必须要赋值
public、protected、private:用于表示成员变量的访问权限。
static:表示该成员变量为类变量,也称为静态变量。
final:表示将该成员变量声明为常量,其值无法更改。
1.3方法
方法:对象执行操作的行为
可以分为有返回值得方法和无返回值得方法,有无返回值中又分为有无参数,
大概四个类型:
无返回值无参数的方法:
访问修饰符 void 方法名 () { ... }
无返回值有参数的方法:
访问修饰符 void 方法名 (参数类型 参数名1,参数类型 参数名2......) {
...
}
有返回值无参数的方法:
访问修饰符 返回类型 方法名 () {
...
return 返回具体数据; }
有返回值有参数的方法:
方法名:一般是满足小驼峰命名,也就是第一个单词子母小写,后面单词的第一个首字符均大写
return : 返回具体数据并退出该方法;
构造方法:主要分为默认构造方法和带参构造
作用:进行数据的初始化
//默认构造方法
访问修饰符 与类名相同的方法名 (){
//......
}
//带参构造方法 访问修饰符 与类名相同的方法名 (参数列表){
//......
}
特点:方法名与类名相同,没有返回值,如果没有创建java 会自动添加默认构造方法。
1.4创建对象
类名
引用对象的属性和方法
//引用对象的属性
对象名.属性名
//引用对象的方法
对象名.方法名