面向对象(JavaBean,面向对象特征待更)


面向对象

对象:Object

分类:1、结构化编程。

                  他的核心是面向过程,是围绕解决的任务来进行的。

            2、面向对象编程。

                  是建立对象模型,将问题域化为不同的对象去处理,是围绕问题域中的对象进行的。

几个关键概念:

1.属性

    是对象身上有什么值数据,特点是名词。

2.行为 

    既是对象的功能,特点是动词。


对象 =  属性 + 行为


对象:万物皆对象,对象因关注而产生

类是对象的抽象,对象是类的实例。

类: 具有相同属性和行为的对象的类型。

类的定义:  本质上是创建自定义数据类型。

注意:

1.当类是public时,类名必须和文件名保持一致。

2.一个类编译为一篇class文件,class文件名和类名保持一致。

3.与局部变量不同,属性可以不赋初值。因为产生对象的时候就会自动初始化。

4.属性拥有访问修饰符,局部变量和常量都没有。若不写,也有默认。

    有4种访问修饰符: public , private ,protected ,默认。

    public :是公用的,外面是可以访问并修改的。

    private: 是私有的,只能在本类中进行访问。

 

   如果外部需要调用或者修改,应该提供公共的访问器与修改器。( get / set 方法)

   变量属性一般都是private的。

  

操作当前属性最好都加上this关键字。

 

如果一个对象没有被利用,那么就被GC回收。

 GC:垃圾回收机制,  是一个线程。

也可以自己回收, 对象 = null;




JavaBean 规范:

1、必须为私有属性提供符合命名规范的get/set方法。(这个也属于信息的隐藏)


2、必须要有无参构造器。


3、

*********************************************************************************************

面向对象的特征:

1、封装。

      分为:1.类的组装(对类括号里面的东西进行确定)。

                  2.信息隐藏

                      1>访问修饰符

                      2>方法的实现

2.  继承

类与类的关系 : -------is a




*********************************************************************************************

在Java.lang包中的类都是直接加载的,无须import


NullPointerException:企图调用一个空对象的属性或者方法。

*********************************************************************************************

栈结构:

          特点:先进后出。 方法嵌套时候的为方法调用栈。


递归: 让一个方法调用其本身。

             递归具有循环的特点。

              使用场景:下一次循环的初始条件是上次循环的结果。


在Java中只有值传递。

             引用数据的传递也是值传递。

             引用和基础的值改变差别是由于保存的方式不同。


真正的引用传递:是把实参中的引用和地址传递。


*********************************************************************************************

构造器:

用途:产生一个对象

语法:

           1、方法名必须和类名保持一致

           2、没有返回类型(连void都没有)


细节:

          1、如果一个类没有书写构造方法,JVM会自动默认给他一个无参构造。

          2、如果一个类书写了构造方法,JVM不会提供一个无参构造。

          3、一个类可以有多个构造方法,由于本类构造方法必须和类名保持一致,

                所以只能依靠参数列表的不同来区分,这种被成为方法重载。


位置:

          写在属性之后,方法之前。


执行步骤:

         1、在堆中划分空间。

          2、在该空间划分属性。

          3、对属性进行初始化(基本类型化为0,引用类型化为null) 

          4、执行我们在构造方法中书写的代码。


*********************************************************************************************、

this的使用:

           1.this.*****或者  this.****( )   表示每个对象本身的引用。

           2.this ()代表调用同一个类的其他构造器。


注意:this( ) 只能放在构造器的第一句。

*********************************************************************************************

内存的分区:

栈:局部变量

堆:new出来的

数据段:

代码段: 方法


类原则: 开闭原则;单一原则(一个方法只做一个事情)。

system.exit(0) ;   关闭虚拟机。也就是在任何地方都可以结束系统。

在输入类型的方法中,要对用户输入的信息进行校验。

1.有效性校验       2.业务性校验。 



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值