面向对象
面向对象的概念(相对于面向过程而言)
什么是面向对象:分类的思想
类和对象
类
一个类型,把有相似特征或者行为的一些事物认为是一个类别,有助于认知世界,是一个抽象的概念,是人为了能够更好的理解,抽象出来的概念,并不存在
对象
类中一个真正的事物!是存在的一个真实案例(实例)
Java中如何定义类
使用关键字 class
访问修饰 [public \ private\ protected\ 默认 ] class 类名称 {
}
一般讲Java代码,写在一个Xxx.java 文件,这个文件就是一个类,如果这个文件中存在多个类,注意public只能修饰Xxx类,如果要在该文件中写main 函数,也只能写在这个类
Java中如何定义对象
类型 对象名称 = new 类型名称() 【构造方法】
对象的属性赋值
对象名称.属性名称 = 值;
如果访问属性的值(对象名称.属性名称)
调用对象的方法
对象名称.方法名称([参数列表]);
package com.openlab.code8.hw;
public class persion {
// 属性
String name;
int age;
// gender:true:女 false:男
boolean gender;
String email;
String telphone;
double height;
float weight;
//说话,动作行为,用函数来描述
public void speak() {
System.out.println("我的名字是:" + name + ",我今年" + age +"岁了");
}
public static void main(String[] args) {
//创建对象
persion p = new persion();
//为对象进行属性赋值
p.name = "lisi";
p.age = 18;
p.gender = true;//女
p.email = "110@qq.com";
p.telphone = "120";
p.height = 140.5;
p.weight = 98;
//调用对象的方法
p.speak();
persion p2 = new persion();
p2.name = "王麻醉";
p2.age = 36;
p2.speak();
}
}
课堂练习
1 定义一个矩形,求矩形的面积和周长
package com.openlab.code8.hw;
public class React {
public double length;
public double width;
// 求矩形的面积
public double getArea() {
return length*width;
}
//求矩形的周长
public double getcal() {
return (length + width)*2;
}
}
package com.openlab.code8.hw;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入矩形的长:");
double L = sc.nextDouble();
System.out.print("请输入矩形的宽:");
double W = sc.nextDouble();
React r = new React();
r.length = L;
r.width = W;
System.out.println("面积是:" + r.getArea());
System.out.println("周长是:" + r.getcal());
sc.close();
}
}
2 定义一个圆类(Circle),求圆的面积和周长
package com.openlab.code8.hw;
import java.util.Scanner;
public class Circle {
double radius;
double getcal() {
return 2*Math.PI*radius;
}
public double getarea() {
re