Day x 今天学习了面向对象的相关基础知识 面向对象的思想大概就是将身边的事物用编程的思想和方式表示出来 面向对象是基于面向过程的 面向过程相当于一件事情的执行者 而面向对象则相当于事情的指挥者 今天主要学习了java中的基本单位-类(class)的基本知识 用class来形容身边的事物 类的概念: 是一组相关的属性和行为的集合 对象:是该类事物的具体体现 而类中,含有成员变量和成员方法 举个例子就是 学生作为一个类 成员对象就是学生的属性,比如姓名,年龄等 而成员方法就是这个成员对象的功能,比如学习,休息等 成员变量不同于局部变量的地方有四点: 1,在类中的位置不同:成员变量在类中,方法外;而局部变量在方法中或者方法声明上 2,在内存中的位置不同:成员变量在堆内存;而局部变量在栈内存中 3,生命周期不同:成员变量随着对象的创建而创建,对象的消失而消失;而局部变量则跟随方法的调用和调用完毕存在和消失 4,初始值:成员变量有默认初始值,局部变量没有; 一些简单的代码练习: //创建类 public class Phone { String pinpai; int price; String color; public void call(String name) { System.out.println("给"+name+"打电话"); } public void sendMessage(String name) { System.out.println("给"+name+"发短信"); } } //调用类 public class PhoneDemo { public static void main(String[] args) { Phone p = new Phone(); System.out.println(p.pinpai); System.out.println(p.price); System.out.println(p.color); System.out.println("--------"); p.pinpai = "iPhone"; p.price = 8999; p.color = "黑色"; System.out.println(p.pinpai); System.out.println(p.price); System.out.println(p.color); System.out.println("--------"); p.call("fay"); p.sendMessage("mikoto"); } } 第二个知识点 封装与私有关键字---private 与 关键字 this private关键字: a:是一个权限修饰符。 b:可以修饰成员(成员变量和成员方法) c:被private修饰的成员只在本类中才能访问。 封装的意义: 提高代码的安全性,不可被随意访问; 提高代码的复用性:在其他类中调用使用后,不影响它本身的值; Private的常见应用:把成员变量用private修饰,并提供相应的getXxx()/setXxx()方法 this关键字: this:代表所在类的对象引用,方法被哪个对象调用,this就代表那个对象 this在什么时候使用:在局部变量和成员变量重名的时候 接下来学习了构造方法 构造方法主要用来给创建的对象的初始值进行初始化 构造方法必须要与类名一致,没有返回值类型,没有void,没有具体返回值; 构造方法可以重载 系统有默认的构造方法 Public calss(){}; 这里学习了两种构造方法,一种是无参构造和对应的set/get方法 第二种是比较常用的有参构造,即: Public class (参数类型参数名,参数类型1 参数名1…..){ this.成员变量 = 局部变量; } 然后有一个知识点需要掌握, 类名作为返回值和类名作为参数名时 1,类名作为参数名时, 学生类中有一个方法.打印一句话 老师类中有一个方法,参数为学生类名, 测试类需要在main方法中创建两个对应的对象,然后调用老师类的方法即可 2,类名作为参数名时, 学生类中有一个方法,打印一句话 老师类中有一个方法,返回值为学生类名,返回了学生类的地址值 测试类需要在main方法中创建老师类的对象,通过老师类来得到学生类的对象,然后调用学生类的方法. 今天对于面向对象的学习感到了一些吃力,理解起来比较慢,对其概念感觉没有很理解清楚,需要下来加紧复习练习
|