一、程序
程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集合。
二、类的定义
属性:通过变量表示,又称实例变量;
语法:数据类型 属性名;
位置:类的内部,方法的外部;
方法:通过函数表示,又称实例方法;
语法:
public 返回值类型 方法名(形参){
//方法的主体
}
package com.qf.Subject_1;
public class Dog {
//创建属性
String breed;
int age;
String sex;
String furColor;
//创建方法
public void eat() { //
System.out.println("狗狗吃东西");
}
public void sleep() {
System.out.println("狗狗在睡觉");
}
}
注意:不再书写 static
三、创建对象
package com.qf.Subject_1;
public class TestDog {
public static void main(String[] args) {
//将对象保存在相同类型的myDog变量中,myDog变量称为"对象名"或“引用名”
Dog myDog=new Dog();//基于Dog类创建对象
//访问属性:对象名.属性名=值;//赋值
myDog.breed="金毛";
myDog.age=3;
myDog.sex="母";
myDog.furColor="黄色";
//访问属性:对象名.属性名;//取值
System.out.println(myDog.breed);
System.out.println(myDog.age);
System.out.println(myDog.sex);
System.out.println(myDog.furColor);
//调用方法:对象名.方法名();
myDog.eat();
myDog.sleep();
}
}
类与对象的关系:
(1)类:定义了对象应具有的特征和行为,类是对象的模板;
(2)对象:拥有多个特征和行为的实体,对象是类的实例。
四、实例变量与局部变量的区别
局部变量 | 实例变量 | |
定义位置 | 方法或方法内的结构当中 | 类的内部,方法的外部 |
默认值 | 无,必须赋值才能使用 | 字面值(与数组相同) |
使用范围 | 从定义行到包含其结构结束 | 本类有效 |
命名冲突 | 不允许重名 | 可与局部变量重名,但局部变量优先 |
五、实例方法
1、对象的实例方法包含两部分:方法的声明和方法的实现
(1)方法的声明:
代表对象能做什么;
组成:修饰符 返回值类型 方法名(形参列表)
(2)方法的实现:
代表对象怎么做,即如何实现对应的功能;
组成:{ }
六、实际案例
package com.qf.Subject_1;
public class Student{
//属性
String name;
int age;
String sex;
double score;
public void sayhi() { //方法
System.out.println("我叫"+name+"年龄"+age+"性别"+sex+"成绩"+score);
}
}
package com.qf.Subject_1;
public class TestStudent {
public static void main(String[] args) {
Student xiaoming=new Student(); //创建对象
xiaoming.name="小明"; //属性赋值
xiaoming.age=18;
xiaoming.sex="男";
xiaoming.score=99;
xiaoming.sayhi(); //调用方法
Student xiaomei=new Student(); //可以创建多个对象
xiaomei.name="小美";
xiaomei.age=19;
xiaomei.sex="女";
xiaomei.score=100;
xiaomei.sayhi();
}
}
package com.qf.Subject_1;
public class Teacher {
String name;
int age;
double salary;
public void sayhi() {
System.out.println("我是"+name+"年龄"+age);
}
public void know(Student s) {
System.out.println(name+"要认识学生");
s.sayhi();
}
}
package com.qf.Subject_1;
public class TestTeacher {
public static void main(String[] args) {
Teacher wang=new Teacher();
wang.name="王老师";
wang.age=34;
wang.salary=4000;
Student xiaoming=new Student();
xiaoming.name="小明";
xiaoming.age=18;
xiaoming.sex="男";
xiaoming.score=98;
wang.sayhi();
wang.know(xiaoming);
}
}