CoreJava学习笔记

Java笔记

程序先编译(编译器起作用),后运行(虚拟机JVM起作用)

面向对象

概念

  1. 传统编码(面向过程):从计算机执行角度出发,以代码执行过程为核心(方便计算机)
    Java编码(面向对象):从人的角度出发,从现实世界角度出发(方便人)
    C++ 是部分面向对象

  2. 需求来自现实世界
    对象:一切客观存在的事物都是对象,万物皆对象
    任何对象,一定具有自己的特征和行为

     		属性(特征):有什么  有什么组成
     		方法(行为):能做什么
     		
     		汽车——车			继承			is  a
     		汽车——发动机			关联			has  a
     		司机——汽车			依赖			use  a
    
  3. 编码思想:先确定解决问题所需的对象,再建立对象间关系,从而确定过程
    传统思想:自顶向下,逐步求精。

    Java中的对象 就是一块儿数据,代表了生活中的一个对象。
    Java中的类 就是一堆代码,定义了一类对象应该具有哪些属性、方法,从而形成对象的模板

  4. 类的抽取:是对 对象共性的抽象,代表了一类事物,人对一类事物的认识。
    在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分。

  5. 变量
    局部变量:在函数的内部定义的变量

     	定义位置:方法或方法内的结构当中
     	无默认值:先赋值再使用
     	访问范围:声明开始到代码块结束 ,{ } 是一个代码块
     	命名冲突:重合范围内不允许两个局部变量重名
    

    成员变量(实例变量):

     	定义位置:类的内部,方法的外部
     	有默认值:int——0
     			  double——0.0
     			  char——\u0000(空格)
     			  String——null
     			  boolean——false
     			  对象类型——null
     			  其他——null
     	访问范围:整个类内部有效
     	命名冲突:两个成员变量不可以重名
     	         **当成员变量和局部变量重名,局部变量优先** 
    
  6. 方法(对象的实例方法,代表对象能做什么)
    Java中没有函数的概念,函数是面向过程的概念,而Java是纯面向对象,站在面向对象的角度,方法和函数差不多,但Java中没有函数,所以说函数都理解为指方法

    方法分两部分:

    1. 声明:修饰符、返回值类型、方法名、形参列表、抛出的异常。 代表了对象能做什么
    2. 实现: { 代码块 } 代表了对象怎么做
  7. 方法重载:定义多个方法,方法名形同,参数表不同,其他参数相同也可以,不同也可以;
    参数表不同:参数个数不同,参数类型不同,参数类型排列不同(顺序不同);
    不允许两个方法的参数表,只有形参名不同;
    谁选择:编译器在编译时会根据实参的类型,选择相应的方法去调用。
    向上就近匹配:如果类型没有byte,自动提升为short或者再往上,没有float就调用double
    引用不明确:不可以出现引用不明确,

    例如:引用m(1,2)方法,但有m(int a,double b)和m(double a,int b),就会报错不知道引用哪个方法,就是引用不明确,但它两个任意存在哪一个都可以正确引用,但两个都存在就会报错

    重载的作用:允许类中的同类方法同名,屏蔽参数的差异(参数不同,同一个行为的具体行为方式与内容也会不同)

  8. 构造方法:

    1. 不能定义返回值类型,就没有返回值这一项
    2. 方法名必须和类名相同,包括大小写
    3. 不能手动调用,只能在对象的创建过程中自动调用一次
  9. 对象的创建过程

    1. 分配空间(分配在堆空间),属性被赋予默认值(int a = 10; 此时a分配空间,赋予默认值此时a=0)
    2. 初始化属性,属性被赋予初始值(int a = 10; 此时初始化属性,a才会=10)
    3. 调用构造方法,属性可以被赋予构造参数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值