0
点赞
收藏
分享

微信扫一扫

JAVA面对象编程

RIOChing 2022-04-29 阅读 45
java


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

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);
    }

————————————————

举报

相关推荐

0 条评论