面向对象三天内容的总结

(第一天)

1,编程思想

  1. :面向对象编程-->强调的是对象,通过对象调用类中或者接口中的方法完成功能。
  2. :面向过程编程-->强调的是过程,按照具体步骤完成某项功能。
  1. 类和对象
  1. :类是拥有共同属性或者行为的事务统称,是一种抽象的概念,除了提供一种模板外描述一类事务外,没有具体的作用,其中属性一般定义为成员变量,行为定义为方法。
  2. :对象是一个具体存在的实例,是看得见摸得着的,因为对象是类的实例,所以可以通过对象去调用类中的属性和行为。
  1. 内存图的加载顺序
  1. ,程序运行都是先从主方法先运行的,所以测试类先准备加载。
  2. 当测试类加载的时候,会加载main 方法。
  3. 这个时候如果方法中有创建对象的话,就会加载进去。因为编译看左边,运行看右边。
  4. 所以会先把对象所在的类先加载到方法区。
  5. 然后再把new出来的类对象加载到堆内存。(加载进堆内存的方法不会加载方法体,只会加载方法所在方法区的地址值)。
  6. 然后就开始通过构造方法赋值(牵扯到隐式三步)

注意:当有多个对象指向同一个地址时,一个对象修改了地址内存中的数据后,别的对象获取到的也是修改后的。比如 A a=new A(i:10,o:9);  A b=a ;  那么对象b和a指向的同一个地址值,后面如果b修改了数据,那么后面重新用a获取到的数据也变了。。

  1. 局部位置和成员位置
  1. :局部位置:类中,方法中;里面的变量叫做局部变量,必须要先赋值再使用(因为方法内部没有构造方法,所以加载后不会有初始化过程,不赋值就会报错);
  2. :成员位置:类中,方法外。变量叫做成员变量,方法叫做成员方法。
  1. JAVAbean标准类:

是java编程中的一种规范

  1. :要求类必须是用public修饰,不然不方便创建对象
  2. :要用private私有化成员变量(为了安全起见,如果需要对某些数据筛选就可以在set方法里面家判断)
  3. :必须要有无参构造方法(推荐有参构造方法)
  4. :提供get 和set方法

 

 

 

 

 

 

 

 

 

 

 

第二天

  1. 匿名对象: 没有名字的对象,因为没有用对象名接收其地址,所以只能用一次。用完要创建。优点:写法简单,不用创建对象。缺点;只能用一次。
  2. 继承: 子类继承父类的属性和方法,子类就不需要定义而可以直接使用了,节约了代码。对于类来说,继承是单继承,多层继承,不支持多继承,要满足is a 的关系。(但是可以实现多个接口),私有化的成员变量可以继承,但是不可以直接访问。子类访问非私有化成员方法时,优先在子类找(可以联系后面的多态时访问非静态方法的规则和重写后的访问规则);
  3. 模板化思想:将共同的属性和行为抽取出来,作为一个类,把不确定的方法定为抽象方法,由子类按照子类的具体要求而填充重写。这相当于定义了一种规范的思维,使用者只要关心自己需要实现的功能就可以了!!

 

  1. static  可以修饰成员方法  成员变量  代码块,修饰的变量叫做类变量,修饰的方法叫做类方法,在类加载的时候加载运行了,可以通过  类名.变量名 或者 类名.方法名  调用。

所以,工具类中的方法多半是用static修饰,因为调用方便。注意:静态方法不参与重写,并且里面不含有this

 

类变量存在静态常量池,被全局共享,所以可以作为共享变量。

运行顺序:

静态代码块>main方法>构造代码块(隐式三步)>构造方法

 

 

第(三)天

  1. 接口是一种方法的集合,是一种规范。接口之间支持多继承,多实现。。。先继承后实现。
  2. 多态:多态的前提   父类类型或者父接口类型指向子类对象   有继承  方法重写
  3. 多态时的成员访问特点:  除了非静态成员方法(就像面向对象类似,看子类),其余的都是编译运行都看父类。

 

总结: 本想后面写的再细点,结果发现这就是一个整体,后面的内容基本上就是前面内容的结合体!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值