Java个人笔记总结(2)-------- 类与对象(一)

本文深入探讨了面向对象编程的核心概念,包括封装、继承和多态。通过实例展示了如何在Java中定义类和方法,并强调了成员变量和局部变量的区别。学习面向对象编程,关键在于理解对象如何执行任务以及如何通过类和对象抽象现实世界中的问题。
摘要由CSDN通过智能技术生成

面向对象语言

面向对象语言是学习Java中尤其重要的一部分,面向对象语言与面向过程语言不同的是面向对象语言能够清楚地指定是“谁”具有这项行为,通俗理解就是“谁做了什么事”,“谁”的本质实际上就是对象,在面向对象语言中一切围绕对象来写。

在学习面向对象语言过程中,一个简单的理念就是:在需要完成某个任务时,首先要想到谁去完成任务(也就是 哪个对象去完成任务)。

面向对象编程主要有三大特性: 

1、封装性:就是将数据和对数据的操作封装在一起,通过抽象从具体的实例中抽取出共同的性质形成一般的概念。(程序的设计追求“高内聚,低耦合”)

2、继承:继承是类与类之间的一种关系

3、多态:即同一方法可以根据对象的不同而采用多种不同的行为方式

类是用来创建对象的模板,它包含被创建对象的状态描述和行为的定义

类的声明

class 类名{    
    类体的内容
}

class为关键字,用来定义类,“class 类名”是类的声明部分,类名必须是合法的Java标识符!

类体

定义类的目的是抽象出一类事物共有的属性行为

因此类体的内容由以下两部分构成:

(1)变量的声明:体现对象的属性

(2)方法的定义:方法可以对类中声明的变量进行操作,即给出算法行为(体现对象具有的行为)

package CsdnMethod;

public class A {
    int c;  //变量声明
    int d;  //变量声明
    int sum;//变量声明
    public int way01(){ //定义方法
        sum = c+d;
        return sum;
    }
}

成员变量

public class A {
    int c;  //变量声明    
    int d;  //变量声明
    int sum;//变量声明
    //在声明成员变量时如果没有指定初始值,Java编译器会为其指定默认值
    /*
       对于boolean变量,默认值是false
       对于byte、short、int、long变量,默认值是0
       对于char变量,默认值是 '\0'(空字符)
       对于float和double变量,默认值是0.0
       对于引用变量(数组及对象),默认值是 null
    */
    public int way01(){ //定义方法
        sum = c+d;
        return sum;
    }
}

此时c,d,sum三个为A类中的成员变量

成员变量在整个类的所有方法里都有效,其有效性与它在类体中出现的位置无关

不过通常习惯先介绍属性再介绍行为

方法

前面进行了初步的简单介绍CSDN

方法头:

        分为无参数方法头和有参数方法头

public int way01() {    //无参数的方法头
        return 23;
    }


public int way02(int m,int n){  //有参数的方法头
        sum = m+n;
        return sum;
    }

方法体:

        方法体的内容包括局部变量的声明和Java语句

可以在方法体内对成员变量和方法体中声明的局部变量进行操作

 public static int add(int a){     //参数变量 a  也是局部变量!
        int sum = 0;    //声明局部变量sum
        for (int i = 0; i < a; i++) {
            sum += i;
        }
        return 0;
    }

和类的成员变量不同的是,局部变量只在方法体内有效!

public class Demo1 {
    int n = 10;     //成员变量n
    public void function(){
        int c = 20;    //局部变量
        int sum = 100; //局部变量
        int res1 = sum+n;   //可以通过编译
    }

    int res2 = n+c;     //编译报错,c为局部变量,只能在方法内有效

}

注意:若局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,该成员变量在该方法内暂时失效

public class Demo2 {
    int x = 10;
    public static int text(){
        int x = 0;
        int y = 15;
        y = x+y;
        return y; //结果为15   不为25
    }
}

切记:局部变量没有默认值,成员变量有默认值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值