java面向对象

类:是对一切相似事物的统称。是一个泛泛的概念。可以描述相似事物的特征和行为的。

对象:是一个具体的实体,真实存在的实体。

类和对象的关系:

有类才有对象,对象是类的第一个具体的实现

一、声明一个类

语法格式

public class 类名 {

        对于当前类属性的描述;

        对于当前类行为的描述

}

public class Person {
    //特征(属性)java 变量来表示
    String name;
    int age;
    boolean gender;//性别
    /*上面声明了三个属性,也叫成员变量*/

    //行为 java 方法来表示
    public void eat() {
        System.out.println("我要吃饭");
    }
    public void sleep() {
        System.out.println("我要睡觉");
    }
}

二、创建类对象

使用关键字 new

java 创建对象的语法格式:

                        类名 对象名字 = new 类名();

public class Demo1 {
    public static void main(String[] args) {
        Person person = new Person();
        //对person这个对象的属性进行赋值操作
        person.name = "小王";
        person.age = 20;
        person.gender = true;
        //对象调用类中的方法
        //person.eat();
        System.out.println(person.name);//获取person对象的name属性值
        System.out.println(person.age);
        System.out.println(person.gender);
        //对象调用类中的方法
        person.eat();
        person.sleep();
    }
}

三、类对象内存分析图

 四、构造方法

用来初始化当前类对象的。就是对当前成员属性进行赋值。

构造方法分为有参数的构造方法和没有参数的构造方法。

语法格式:

public 类名() {

}

package com.boke.app;

class Cat{
    String name;
    int age;

    public Cat() {//无参构造
        
    }
    public Cat(String name, int age) {//有参构造
        this.name = name;
        this.age = age;
    }
    public Cat(String name) {//只有一个参数的有参构造
        this.name = name;
    }
}
public class Demo1 {
    public static void main(String[] args) {
        Cat cat = new Cat();//new的时候就是在调用类中的构造方法
        Cat cat1 = new Cat("goudan", 23);
        Cat cat2 = new Cat("咪咪");
        System.out.println(cat2.name);//咪咪
    }
}

关于无参数的构造方法和有参数的构造方法的注意事项

1.无参数的构造方法是默认的,但是写了有参数构造方法以后,默认无参数的构造方法就不存在了

2.构造方法必须是类名,其他的成员方法不能以类名来命名

3.构造方法没有返回值,并且不需要使用关键字 void进行修饰

4.构造方法可以有多个,但是构造方法的参数是有数据类型的要求的

5.无论什么时候,都要写一个无参构造方法,以备用。

五、构造代码块

实例化对象的时候,先调用了构造方法。构造方法执行的话,构造代码块就一定执行。

写的位置:成员变量之后,构造方法之前。

语法格式:

                {

                        代码

                }

package com.qfedu.class3;

class Fish{
    String kind;//种类

    {
        System.out.println("我是构造代码块");
    }
    public Fish() {

    }
    public Fish(String kind) {
        this.kind = kind;
    }

}
public class Demo3 {
    public static void main(String[] args) {
        Fish fish = new Fish("金鱼");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值