1.类(class)的定义
类是对一组具有相同特征和行为的对象的抽象描述。
在程序中,引入类的概念,就是为了快速生成更多的具有相同特性和行为的事物。
2.对象(object)的定义
对象是类的具体实现,表示一个独立的、唯一的个体,具有属性和方法。
3.属性和方法
属性:在程序中类或者对象具有的特征,具体对象的属性拥有的数据称为属性值。
方法:类或者对象的行为。
4.定义类和对象
创建1个Student的类,类的属性有学号(sid)、姓名(name)、年龄(age)、性别(gender),类中声明了一个learn()方法。
1 public class Student{ 2 3 // 声明类的属性 4 String sid; 5 String name; 6 int age; 7 char gender; 8 9 // 声明方法10 public void learn(String cName){11 System.out.println(name+" learn "+cName);12 }13 }
下面代码中新建了一个stu对象,通过.语法给对象的属性赋值和方法调用。
1 public class Test01{ 2 public static void main(String[] args){ 3 // stu是Student的一个对象,也是Student的一个实例 4 // new 操作就是实例化过程 5 Student stu = new Student(); 6 // 给属性赋值(.语法) 7 stu.name = "张三"; 8 stu.sid = "001"; 9 // 调用方法10 stu.learn("java");11 12 Student stu2 = new Student();13 stu2.name = "李四";14 stu2.sid = "001";15 stu2.learn("c++");16 17 }18 }
5.属性的声明
声明方式:[修饰符] 属性类型 属性名称 [=默认值]
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(数值:0,0.0 char:\u0000, boolean:false, 所有引用类型:null) 。
属性的作用域范围是整个类体。
6.面向对象编程思维
OOP(Object Oriented Progarmming),即面向对象编程是Java程序员必须具备的编程思想。Java程序通过类来构造对象,并通过各个对象之间相互配合完成一个复杂的需求。
以下是运用面向对象的编程思想来实现手机播放一首歌曲的需求。
a.创建1个Music的类,定义类的属性有name、singer、times、content,方法有showInfo()。
1 public class Music{ 2 String name; 3 String singer; 4 int times; 5 String content; 6 7 public void showInfo(){ 8 int hour=times/3600; 9 int minute=times%3600/60;10 int second=times%60;11 System.out.println("正在播放:"+name);12 System.out.println("歌手:"+singer);13 System.out.println("时长:"+hour+"--"+minute+"--"+second);14 System.out.println("歌词:"+content);15 }16 17 }
b.创建1个Phone的类,类的属性有brand、type,类的方法有play(Music music),并在play()方法中调用Music类中的方法music.showInfo()。
1 public class Phone{2 String brand;3 String type;4 public void play(Music music){5 System.out.println("正在使用"+brand+type+"播放歌曲");6 music.showInfo();7 }8 }
c.创建1个phone对象和1个music对象,给2个对象的属性赋值,并通过调用phone.play(music)方法最终实现了手机播放一首歌曲的需求。
1 public class Test03{ 2 public static void main(String[] args){ 3 Phone phone =new Phone(); 4 phone.brand="华为"; 5 phone.type="P20"; 6 Music music =new Music(); 7 music.name="我很快乐"; 8 music.singer="刘惜君"; 9 music.times=213;10 music.content="我也不会难过\n你不要小看我\n有什么熬不过\n大不了唱首歌\n虽然是悲伤的歌\n声音有点颤抖\n也比你好的多\n我还是很快乐";11 phone.play(music);12 }13 }
d.程序运行结果: