Java面向对象总结(一)

面向对象总结(上)

ps:Java面向对象部分和C++有很多相通的地方,又有其特有的语法结构,例如函数重载中,C++形参可以有默认值,而Java中没有;Java特有的GC回收机制导致Java没有析取方法。这只是一部分,但是感觉Java更智能吧。>a

1.类与对象

1)三条主线
①Java类及类得成员
②三大特性(重点)
③其他关键字 : static instanceof interface……
2)面向对象与面向过程
①面向过程强调的是功能行为
②面向对象强调的是封装了功能的对象

2.类的结构之一属性

变量:
* 一 数据类型分类 : 基本数据类型 vs 引用数据类型
* 二 位置分类 : 成员变量 vs 局部变量
*
* 成员变量 vs 局部变量
* 相同点:
* 1.声明的格式:变量的类型 变量名 = 变量值;
* 2.先声明后使用
* 3.作用域:都是在声明它的那对大括号内
*
* 不同点:
* 1.内存:
* 成员变量 :在堆内存中.
* 局部变量 :在栈中
* 2.默认值:
* 成员变量:
* 基本数据类型:
* byte short int long : 0
* float double: 0.0
* char: \u0000
* boolean:false
* 引用数据类型:null
* 局部变量:没默认值
* 3.位置:
* 成员变量:在类中,方法等结构外.
* 局部变量:在构造器中,方法中,代码块中,方法的形参,构造器的形参.
*
* 4.权限修饰符:private 缺省的 protected public
* 成员变量:可以被权限修饰符所修饰
* 局部变量:不可以被权限修饰符所修饰

3.类的结构之一方法

一.方法的重载
1.方法的重载的概念:在同一个类中相同的方法名不同的形参列表构成重载。
说明:
1.方法的重载和权限修饰符,返回值类型,参数名没有关系。
2.不同的形参列表:形参的类型和个数

2.举例
public void say(String name,int age){
}
public void say(int age,String name){
}
//不构成重载 :形参列表一样
public int say(String name,int a){
}

3.如何确定类中某一个方法的调用:方法名  + 形参列表
二.值传递
* 值传递:
* 形参:方法声明时的参数
实参:方法调用时实际传给形参的参数值
*
* 值传递:
1.如果传递的是引用数据类型实际上传递的是地址值
* 2.如果传递的是基本数据类型实际上传递的是变量中的值。

4.封装性

1.面向对象的特征一:封装与隐藏
* 1.为什么要封装性?
* 往往我们通过对象.属性进行赋值。只能对属性的类型和数值范围进行限制。但实际情况中
* 我们所需要的限制条件比较多,而在属性的位置上又不能加以限制。所以做如下操作:
* ①私化属性 :给属性加权限修饰符
* ②通过公共的方法给属性进行赋值 :在方法中可以添加条件限制。
*
* 2.封装性的体现(狭义上 : 私化属性,设置公共的set/get方法
*
* 3.封装性的体现(广义上
* ①.四种权限修饰符:private 缺省的 protected public
②.类的成员:属性,方法,构造器,代码块,内部类。权限修饰符可以用来修饰属性,方法,构造器,内部类
* ③.类只可以被public和缺省的所修饰

2.封装性思想具体的代码体现:

class Animal{

    private int legs; //属性私化


    /*
     * 通过方法给属性赋值
     */
    public void setLegs(int l){
        if(l == 4){
            legs = l;
        }else{
            legs = 4;
            System.out.println("你瞎呀");
        }
    }
    /*
     * 通过方法获取属性的值
     */
    public int getLegs(){
        return legs;
    }

}

3.java规定的四种权限修饰符
权限从小到大顺序为:private 缺省的 protected public

5.构造器(C++称构造方法)

1.构造器(或构造方法)
作用:①创建对象 ②初始化对象中属性的值
格式:权限修饰符 类名(形参列表){}

2.使用说明:

  • ①.如果类中没显示的定义构造器,那么系统会默认为我们提供一个无参的构造器
  • ②.如果类中已经显示的定义了构造器,那么系统将不再提供无参的构造器
  • ③.一个类中可以定义多个构造器,彼此之间构成重载

    • 总结:创建对象必调构造器。

6.属性的赋值顺序

一 属性赋值的方式
1.默认值 2.显示赋值 3.构造器 4.对象.属性/对象.方法
二 赋值顺序 : 1 - 2 - 3 - 4

7.this关键字

  • this关键字:表示当前对象

    • this可以用来调用 : 属性,方法,构造器
    • this调用属性和方法:
  • 在方法和构造器中往往我们调用属性和类中的方法时都会省略”this.”。但是如果在构造器和

  • 方法中局部变量的名字和属性的名字一样,为了加以区分我们会在属性名前加上”this.”

    • *
  • this调用构造器:为了调用本类中其它的构造器

    • 格式:this(形参列表)
  • 说明:
  • 1.必须放在构造器的首行
  • 2.一个构造器中只能有一个this(形参列表)
  • 3.如果一个类中有N个构造器,那么最多有N-1个this(形参列表)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值