类:具有相同属性和方法的一组对象的集合
对象:用于描述客观事物的一个实体
方法:对象执行的操作
类和对象的关系:类是对象的抽象,对象是类的具体实现
java语言:面向对象的 万物皆对象
C语言:面向过程的
第一步 怎么办 得出结果
第二步 怎么办 得出结论
怎么去描述一个对象
1.静态的
例如: 外观 颜色 品牌 重量。。。(电脑)
男 身高 体重 发型 衣着 (人)
2.动态的,动作
可以干什么(播放音乐 播放电影 运行游戏 连接网络。。。) (电脑)
学习 查资料 打篮球。。。 (人)
判断是对象还是类?
类:猫,人,狗,宝马车
对象: 张三
javaz中,描述一个对象,从两方面出发
1.静态(属性)
姓名 年龄 体重
2.动态(方法)
学习
把对象共有的属性和方法抽取出来,就变成了类
简单代码示例:
public class Student {
// 属性
String name; //姓名
int age; //年龄
int weight; //体重
//方法
public void study() {
System.out.println("正在学习");
}
}
类:可以理解为一个模板
对象:可以理解为模板做出的产品
书籍推荐:深入理解java虚拟机
补充: 方法
方法有四种
有参方法
无参方法
有返回值
无返回值
还有两种特殊的方法:无参构造函数和有参构造函数。
类和对象简单示例:
学生类:
//Student.java
public class Student {
// 属性
String name; //姓名
int age; //年龄
int weight; //体重
// 程序在运行的时候,jvm会自动补充一个无参构造参数,有些情况必须写
// 无参构造方法
public Student() {
}
//方法
public void study() {
System.out.println(name+"正在学习");
}
// 计算两个数的和
// 有参数无返回值
public void add(int n1,int n2) {
int result = n1+n2;
System.out.println("求和,结果是:"+result);
}
public void add2() {
Scanner input=new Scanner(System.in);
System.out.println("输入第一个数字:");
int n1 = input.nextInt();
System.out.println("输入第二个数字:");
int n2 = input.nextInt();
int result = n1+n2;
System.out.println("求和,结果是:"+result);
}
// 有返回值
public int add3(int n1,int n2) {
int result = n1+n2;
return result;
}
}
测试类Test:
Test.java
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 根据模板 创建两个对象(实例化)
// 创建第一个对象
Student stu1=new Student();
// 赋值 给对象的name属性赋值
stu1.name="小王";
// 给对象的另外两个属性赋值
stu1.age=20;
stu1.weight=60;
System.out.println("该对象的名字是:"+stu1.name);
System.out.println("该对象的年龄是:"+stu1.age);
System.out.println("该对象的体重是:"+stu1.weight);
// 调用对象的方法
stu1.study();
System.out.println("---------------------------------");
// 再创建一个对象
Student stu2=new Student();
// 赋值 给对象的name属性赋值
stu2.name="小张";
// 给对象的另外两个属性赋值
stu2.age=21;
stu2.weight=65;
System.out.println("该对象的名字是:"+stu2.name);
System.out.println("该对象的年龄是:"+stu2.age);
System.out.println("该对象的体重是:"+stu2.weight);
// 调用对象的方法
stu2.study();
}
}
测试类Test2:
Test2.java
public class Test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 必须实例化对象才可以调用方法
Student student = new Student();
// 传参
student.add(2, 6);
// 调用的方法有返回值,所以需要一个变量来接收
int result = student.add3(4, 5);
System.out.println(result);
}
}