面向对象
类和对象
类:
对于一类事物的统称,包含对于属性描述和行为描述
已人类为例
属性描述:身高体重,样貌...
行为描述:吃饭,睡觉,上班,学习,打游戏..
对象:
具体的,独立的,唯一的个体
小总结
生活中面向对象和面向过程的例子
面向对象直观,高效,并且是符合我们生活案例的一种方式面向过程较为繁琐的方式,但是面向对象的基础就是面向过程。
类和对象
类统称的概念
对象唯一的
Java中定义类的格式【重点】
格式分析
格式:
class类名{
属性描述;
行为描述;
}
类名:
要求符合大驼峰命名法,见名知意
类名这里可以认为是一个数据类型名,自定义数据类型
属性描述:
描述当前类有哪些属性
例如:
人类的身高体重,年龄姓名
行为描述:
描述当前类有哪些行为
例如:
人类的吃饭行为,睡觉行为,打游戏行为
自定义完成Person类
/**
*自定义Person类,人类
* @author Anonymous
*
*/
class Person {
/*属性描述【成员变量Field】*/
//姓名属性描述 这里暂时不需要初始化只是描述当前类有哪些属性
// String是字符串类型,name成员变量
String name;
//年龄描述
// int是数据类型 age成员变量
int age;
//性别描述
// char是数据类型 gender成员变量
char gender;
/*
*行为描述【成员方法Method】
*一下方法目前不需要static不要问
*/
//吃饭行为描述
public void eat(String food) {
System.out.println("吃"+food);
}
//睡醒行为描述
public void sleep() {
System.out.println("月亮不睡你不睡,你是秃头小宝贝");
public void game() {
System.out.println("WOT World Of Tank坦克世界");
}
}
Java中创建对象的格式【重点】
格式:
Scanner 扫描器
Scanner sc = new Scanner(System.in);
赋值号左侧:
Scanner:
数据类型名,Scanner类,【类名】。
sc:
sc可以认为是Scanner类的对象,sc对象名,同时也是一个【引用数据类型变量】
赋值号右侧:
new:
1.在内存的【堆区】申请当前对象所需的内存空间
2.擦除整个内存空间中的所有数据,所有的内存空间中二进制位都是0
Scanner(System.in);
和类名同名的方法
目前类名();即可
格式:
类名 对象名 = new 类名();
创建Person类对象
/*
*这里创建一个Person对象
*格式:
*类名 对象名 = new类名();
*
*这里创建了一个Person类的对象,对象名saolei
*/
Person saolei = new Person();
System.out.println(saolei);
/*
* com.qfedu.b.Object.Person@15db9742
* com.qfedu.b.Object完整的包名
* Person类名
* @ 所在内存位置
* 15db9742是当前Person类的对象,saolei所在【堆区】内存空间首地址
*/
【使用成员变量】
int[] arr = new int[10];
arr.length
这里没有小括号,得到的数组的容量,是一个属性
操作类内的成员变量格式:
类对象.成员变量名可以赋值操作,可以取值操作
使用成员变量方式
/*
*通过Person类的对象,saolei操作name成员变量,age成员变量,gender成员变量
*进行赋值操作
*
* . 的
*/
saolei.name = "海航中路彭于晏";
saolei.age = 16;
saolei.gender = '男';
/*
*通过Person类的对象saolei取值成员变量内容
*/
System.out.println("Name:"+saolei.name);
System.out.println("Age:"+saolei.age);
System.out.println("Gender:"+saolei.gender);
【使用成员方法】
Scanner sc = new Scanner(System.in);
sc.nextInt(); 通过Scanner类的对象 sc调用nextInt();
sc.nextFloat();
sc.nextDouble();
sc.nextLine();
. 的
格式:
类对象.成员方法(所需参数);
通过类对象使用成员方法
/*
*格式:
* 类对象.成员方法(所需参数);
* . 的
*/
saolei.eat("鲱鱼罐头鱼丸");
saolei.sleep();
saolei.game();
总结
格式
a.
自定义类的格式
b.
创建类对象格式
c.
通过类对象调用成员变量的格式
d.
通过类对象调用成员方法的格式