| 
 
| 一到六天学习的还算顺利,感觉还好!但从第七天后: .面向对象初识
 面向过程强调的是功能行为,面向对象是相对面对过程而言的,面向对象将功能封装成对象,强调具备了功能的对象。面向过程和面向对象都是一种编程思想。
 万物皆对象,凡是真实存在的个体都是对象
 (1)分析该系统中包含哪些对象
 (2)明确每个对象可以做什么
 (3)明确各个对象之间的关系
 面向对象的特征——继承、封装 、多态
 以后的开发过程就是找对象来用,没有对象,就创建一个对象。
 找对象,建立对象,使用对象,并维护对象的关系。
 类和对象的关系:
 类:就是对现实生活中事物的描述,是属性和行为的集合,可以理解为一张图纸,是 一个抽象的概念
 
 对象:就是这类事物,实实在在存在的个体。
 
 想要描述:提取对象中共性内容。对具体的抽象。
 
 映射到Java中描述就是class定义的类。类中属性即成员变量,行为即成员函数,定义类就是定义类的成员(成员变量+成员函数)
 具体对象就是对应Java在堆内存中用new建立实体。
 格式:        类名 对象名=new 类名();
 成员变量:对象名.成员变量;
 成员方法:对象名.成员方法();
 成员变量和局部变量的区别
 定义位置的区别:成员变量定义在类中,方法外;局部变量定义在方法中,或者是方法的形参
 初始化值的问题:成员变量有默认初始化值;局部变量没有默认初始化值,必须定义后赋值才能使用。在使用变量的时候,首先在局部范围找,没有的话在成员变量找,
 在使用过程中,遵循一个就近原则存储位置的区别:成员变量定义在堆中,随着对象的存在而存在,随着对象的消失而消失;局部变量存储在栈中,随着方法的调用而
 存在,随着方法调用完毕而消失
 匿名对象
 匿名对象是对象的一种简化方式
 格式:new 类名()
 调用:new 类名(). 成员名称;
 使用情况:1.只使用一次的时候;2.作为实参传递给方法;
 2.封装
 是指把不需要让外界知道的信息隐藏起来,尽可能隐藏对象的字段和实现细节,仅对外提供公共访问方式。
 
 优点:将变化隔离,便于使用,提高重用性和安全性
 
 封装机制在程序中的体现是:把描述对象的状态用字段表示,描述对象的行为用方法表示,把字段和方法定义在一个类中,并保证外界不能任意更改其内部的字段值,
 也不允许任意调动其内部的功能方法。
 访问权限修饰符
 private 类访问权限:本类内部可以访问,不能继承到子类;
 default 什么都不写,包访问权限:本类内部可以访问,同包其他类也可以访问,同包可继承;
 protected 子类访问权限:本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问,能继承到子类;
 public 公共访问权限:任何地方都可以访问,能继承到子类;
 .this关键字
 this代表其所在函数所属对象的引用。换言之,this就代表本类对象的引用。谁调用,this就代表谁。每一个成员方法里面都有一个this代表当前对象。
 什么时候用this:1.当函数内部需要用到调用该函数的对象时,如this.name=name;
 2.构造方法中相互调用,但是此时this([参数])必须写在构造方法第一行。
 this不能用在static修饰的方法里和static修饰的代码块里;
 以及后面的String方法调用完全不会用;太抽象。每天课程又这么多,有点吃力!
 package com.itheima;
 
 public class Student {
 private String name;
 private int age;
 public Student(){
 
 }
 public Student(String name){
 this.name=name;
 }
 public Student(int age){
 this.age=age;
 }
 public Student(String name,int age){
 this.name=name;
 this.age=age;
 }
 public void show(){
 System.out.println("学习使我快乐");
 System.out.println(age);
 }
 
 }
 特别是构造方法调用,和面向对象关系真的搞不懂!
 还需继续努力!
 
 
 | 
 |