JAVA面对象编程

本文详细介绍了Java中的类和对象概念,包括类的定义、成员变量、成员方法、构造方法、this关键字的使用。通过实例展示了如何创建和使用对象,并探讨了对象初始化和构造方法的作用。此外,还解释了成员变量和局部变量的区别以及它们的默认值。
摘要由CSDN通过智能技术生成


类:用来描述一类具有相同特征和相同行为的对象。

Java中用class关键字来描述类

成员属性:对应的就是事物的属性
成员方法:对象事物的行为
类的定义:
public class 类名{
  
}
定义类:就是定义类的成员,包括成员变量和成员方法

类的成员: 成员变量:和之前定义的变量几乎时一样的,只不过位置发生了改变,成员变量位于类中,任何方法之外。成员方法:和之前定义的方法几乎是一样的,只不过把static关键字去掉

类和对象的关系:类是对象的例化

对象
对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

创建对象

使用对象:

调用成员变量:

对象名.成员变量;

调用成员方法:

对象名.方法名;

成员变量都有默认值,所以在声明成员变量时,可以不用初始化

数据类型    默认值
 byte              0
 short             0
   int               0
 long              0
 float             0.0
 double         0.0
boolean      false
  char          空字符
引用类型      null
 

全局变量(成员变量)  定义在方法的外部,类的内部。使用范围是整个类                                                             不需要初始值                                                                                                                       存储在堆内存中

局部变量

定义在方法的内部或者某一个语句块的内部,适用范围仅限于方法内或者语句块内
必须有初始值
存储在栈内存中
成员方法
语法:

访问修饰符 返回值类型 方法名称{
    方法体
}
访问修饰符:public

返回值类型由返回值决定

成员变量可以直接在成员方法中使用,但是main方法中如果调用成员变量和方法必须通过对象.属性名\方法名(参数列表)的形式来调用

成员方法之间的调用,直接写方法名

构造方法
对象一建立就会调用构造方法,可以创建对象,给成员变量(属性)初始化。

方法名和类名相同
没有返回值和void,没有return
不能被static等关键字修饰
可以方法重
当一个类中没有写构造方法时,系统会默认给该类一个默认的无参构造方法。当自己定义构造方法后默认的构造方法就不存在了。

public class Animal {
    String name;
    int age;
    public Animal(){
        System.out.println("------无参的构造方法------");
        name = "动物";
        age = 0;
 
    }
    public Animal(String name,int age){
        System.out.println("------有参的构造方法------");
        this.name = name;
        this.age = age;
    }
 
    public static void main(String[] args) {
        //创建对象
        Animal a1 = new Animal();
        System.out.println(a1.name+","+a1.age);
 
        Animal a2 = new Animal("兔子",2);
        System.out.println(a2.name+","+a2.age);
    }
}
 

this关键字

this代表它所在方法所属对象的引用。哪个对象调用的this所在的方法,this就代表哪个对象。

在没有static关键字修饰的方法中使用

this关键的字用来区分成员变量和局部变量同名的情况:

public class Student{
    String name;
    int age;
    int classNum;
 
    public Student(String name,int age,int classNum){    
    
        this.name = name; 
        this.age = age;
        this.classNum = classNum;
    }
    
    public static void main(String[] args){
        Student s1 = new Student("张三",18,1);
        System.out.println(s1.name);
    }

————————————————
版权声明:本文为CSDN博主「nbb12386」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_63115838/article/details/124462306

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值