面向对象的两个要素:
类,对一类事物的描述,是抽象的、概念上的定义
对象:是是继勋在的该事物的每个个体,因而也称为实例
面向对象程序设计的重点是类的设计
设计类,就是设计类的成员。
注释:
属性 = 成员变量 = field = 域、字段
方法 = 成员方法 = 函数 = method
创建类的对象 = 类的实例化 = 实例化类
类的简单定义和对象的创建
注意:如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static)
package mianxiangduixiang;
public class d01 {
public static void main (String[] args){
//创建Person类的对象
Person p1 =new Person ();
//调用属性: “对象.属性”;
p1.name = "Tom";
p1.isMals = true;
//调用方法:“对象.方法”
p1.eat();
p1.sleep();
p1.talk("Chinese");
}
}
class Person{
String name ;
int age = 1;
boolean isMals;
public void eat (){
System.out.print("人可以吃饭");
}
public void sleep(){
System.out.print("人可以睡觉");
}
public void talk(String language){
System.out.print ("人可以说话,语言为"+language);
}
}
类中属性的使用
对比属性(成员变量)和局部变量
1.相同点:
1.1定义变量的格式:数据类型 变量名 = 变量值
1.2先声明,后使用
1.3变量都有其对应的作用域
2.不同点:
2.1在类中声名的位置不同
属性:直接定义在类的一对{}内
局部变量:生命在方法内、方法形参(函数小括号内的数据)、代码块内、构造器形参、构造器内部的变量
2.2关于权限的修饰符不同
属性:可以在声名属性是,指明其权限,使用权限修饰符
局部变量:不可以使用权限变量
2.3默认初始化值的情况:
属性:类的属性根据类型都有初始化值。(和数据类型的初始化值一样 之前的博客有写)
局部变量:没有默认初始化值
意味着,我们在调用局部变量之前,一定要显示赋值。
特别的,形参在调用时,我们赋值即可。
2.4在内存中加载的位置
属性:加载到堆空间中
局部变量:加载到栈空间中
注释:常用的权限修饰符:private public 。。。。
类中方法和声名的使用
方法的声名: 权限修饰符 返回值类型 方法名(形参列表) {方法体}
注释:
关于权限修饰符:
Java 规定的4种修饰符:private public 缺省 protected。
如果方法有返回值,则必须在方法声名是什么数据类型,指定返回值类型。同时,在方法中,需要使用return关键字在返回指定类型的常量或变量。
注:return 可以用在if语句中 但是如果有返回值必须返回
如果方法没有返回值,则声名方法时,使用void来表示。通常,没有返回值的方法中就不用使用return 若要用return后面不可以加返回值。
return 关键字的使用:
1.使用范围,使用在方法中
2.作用:1 结束方法
2 针对有返回值的方法,使用“return 数据”方法返回所需要的数据。
3 注意点 return关键字后面不可以声名执行语句
方法名:属于标识符,必须符合标识符的规范 尽量见名智意
形参列表:方法可以声名0个、1个或多个形参
格式:数据类型 形参1 ,数据类型 形参2 .。。。(形参之间用,隔开)。
方法体:方法功能的体现
在方法的使用中,可以调用当前类的属性和方法 。 也可以自己调用自己 称为递归方法。
方法为并列关系 不可以再方法中定义方法