JavaSE-7.1【面向对象之类和对象】
1 package day7; 2 3 /** 4 * @author haifei 5 * 6 * 面向对象之类和对象 7 * 8 */ 9 10 public class demo1 { 11 public static void main(String[] args) { 12 /* 13 类是对现实生活中一类具有共同属性和行为的事物的抽象 14 类是对象的数据类型,类是具有相同属性和行为的一组对象的集合 15 16 属性:指事物的特征,在类中通过成员变量来体现(类中方法外的变量) 17 行为:指事物能执行的操作,在类中通过成员方法来体现(和在此前课程中方法相比去掉static关键字即可) 18 19 类和对象的关系 20 类:类是对现实生活中一类具有共同属性和行为的事物的抽象 21 对象:是能够看得到摸的着的真实存在的实体 22 简单理解:类是对事物的一种描述,对象则为具体存在的事物 23 24 类是java程序的基本组成单位 25 */ 26 } 27 } 28 29 //public class Phone{ //error, 30 // String brand; 31 // int price; 32 //} 33 /* 34 1.Java保存的文件名必须与类名一致; 35 2.如果文件中只有一个类,文件名必须与类名一致; 36 3.一个Java文件中只能有一个public类; 37 4.如果文件中不止一个类,文件名必须与public类名一致; 38 5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致. 39 */
1 package day7; 2 3 import java.lang.String; //非必须 4 //String存在java.util.lang包中,不需要导包,可以直接使用 5 6 public class Phone { 7 //成员变量 8 String brand; 9 int price; 10 11 //成员方法/函数 12 public void call(){ 13 System.out.println("打电话"); 14 } 15 public void sendMessage(){ 16 System.out.println("发短信"); 17 } 18 }
1 package day7; 2 3 public class PhoneDemo { 4 public static void main(String[] args) { 5 Phone p = new Phone(); 6 7 System.out.println(p.brand); //null 8 System.out.println(p.price); //0 9 // 对象p是new出来的,她在堆区,其成员变量在未初始化赋值时,系统会给出默认值,详见day4:Demo1_0520.java内存分配 10 11 p.brand = "iphone"; 12 p.price = 3500; 13 System.out.println(p.brand); 14 System.out.println(p.price); 15 16 p.call(); 17 p.sendMessage(); 18 } 19 }
1 package day7; 2 3 public class Student { 4 String name; 5 int age; 6 7 public void study(){ 8 System.out.println("学习"); 9 } 10 11 public void doHomework(){ 12 System.out.println("做作业"); 13 } 14 }
1 package day7; 2 3 public class StudentDemo { 4 public static void main(String[] args) { 5 Student s = new Student(); 6 System.out.println("姓名:" + s.name + " 年龄:" + s.age); 7 8 s.name = "tom"; 9 s.age = 23; 10 System.out.println("姓名:" + s.name + " 年龄:" + s.age); 11 12 s.study(); 13 s.doHomework(); 14 15 Student s2 = new Student(); 16 s2.name = "sam"; 17 s2.age = 18; 18 System.out.println("姓名:" + s2.name + " 年龄:" + s2.age); 19 s2.study(); 20 s2.doHomework(); 21 } 22 }