类与对象
类
一类具有相同特性的事物的抽象描述
例如:苍老师,宋老师,柴老师...
相同:
属性:姓名、年龄、性别....
行为:吃饭、睡觉、讲授技术...
Teacher类,宋老师是Teacher类的具体的实例,个体,对象
例如:杨洪强,崔志恒...
相同:
属性:姓名、年龄、性别....
行为:吃饭、睡觉、学习....
Student类, 杨洪强是Student类对象
类与对象的关系
类是众多对象的抽象的描述,类是对象的设计图,创建对象的模板
对象是类的个体,具体的实例
声明格式
[修饰符] class 类名{
}
例子:
class Person{
}
类名,每一个单词的首字母都大写
如果有一个类是public的,那么源文件名必须与类名相同
类的第一类成员:属性
属性的声明
[修饰符] 数据类型 属性名;
用类创建对象
类名 对象名 =new 类名();
对象名其实是变量名/对象的引用
对象名/变量名:从第二个单词开始首字母大写
为某个对象的属性赋值
对象名.属性名=值
访问某个对象的属性值
打印某个对象的属性值
System.out.println(对象名.属性名);
例子
// 声明类
class Person{
// 声明属性
String name;
int age;
char gender;
}
// 声明类
public class Test {
public static void main(String[] args) {
//(1)创建对象
Person p = new Person();
//(2)为P对象的name属性赋值
p.name="张三";
//为p对象的age属性赋值
p.age = 23;
//为p对象的gender属性赋值
p.gender = '男';
//(3)访问/显示对象的属性值
System.out.println("姓名:"+p.name);
System.out.println("年龄:" + p.age);
System.out.println("性别:" + p.gender);
}
}
练习
1、声明一个圆的图形类,有属性:半径
2、在测试类的main中,创建圆的2个对象,并为半径属性赋值
class CirlceDemo{
public static void main(String[] args){
//1、创建第一个圆对象
//类名 对象名 = new 类名();
//Circle c1;//声明一个引用数据类型的变量,用来存储一个圆对象
//c1 = new Circle();//为c1变量赋值一个圆对象
//把两步合成一步
Circle c1 = new Circle();
//2、为第一个圆对象的半径赋值
c1.radius = 2.5;
//3、显示第一个圆对象的半径值
System.out.println("第一个圆的半径:" + c1.radius);
//4、创建第二个圆对象
Circle c2 = new Circle();
c2.radius = 1.2;
System.out.println("第二个圆的半径:" + c2.radius);
}
}
属性的特点
属性有默认值
1、属性有默认值
原则和数组的元素的默认值一样。
(1)基本数据类型
byte,short,int,long:0
float,double:0.0
boolean:false
char:\u0000
(2)引用数据类型:null
例如:String是引用数据类型
2、每一个对象的属性值是独立的
例如
class Field{
public static void main(String[] args){
//1、创建一个动物的对象
Animal a1 = new Animal();
//2、直接访问a1对象的属性值
System.out.println("a1的name属性值:" + a1.name);
System.out.println("a1的legs属性值:" + a1.legs);
//String str;//错误: 可能尚未初始化变量str
//System.out.println("str = " +str);
//2、创建第二个动物的对象
Animal a2 = new Animal();
a2.name = "大象";
a2.legs = 4;
//访问a1对象的属性值
System.out.println("a1的name属性值:" + a1.name);
System.out.println("a1的legs属性值:" + a1.legs);
//访问a2对象的属性值
System.out.println("a2的name属性值:" + a2.name);
System.out.println("a2的legs属性值:" + a2.legs);
}
}
//Animal:动物
class Animal{
//属性
String name;//动物的名称
int legs;//腿的数量
}
练习
1、声明一个矩形(长方形)类,有属性:长、宽
2、在测试类的main中,创建两个矩形对象,并为属性赋值
3、画出内存图
class Rectangle{
double length;
double width;
}
class RectangleDemo{
public static void main(String[] args){
//1、创建第一个矩形对象
Rectangle r1 = new Rectangle();
//为第一个矩形对象的属性赋值
r1.length = 1;
r1.width = 3;
//显示第一个矩形对象的信息
System.out.println("矩形1的长:" + r1.length + ",宽:" + r1.width);
//1、创建第二个矩形对象
Rectangle r2 = new Rectangle();
//为第二个矩形对象的属性赋值
r2.length = 4;
r2.width = 5;
//显示第二个矩形对象的信息
System.out.println("矩形2的长:" + r2.length + ",宽:" + r2.width);
}
}