Java类和对象概念和构造方法

程序面向过程和面向对象

c语言与c++是面向过程的,关注的重点也是过程,将每个问题步骤都分析出来,从底层而进行分析,面向过程中所涉及的行为叫做功能、
Java是面向对象的过程,涉及了参与了过程的主体对象,通过一个个的逻辑来进行实现
面向过程例如将大象放到冰箱中,步骤过程是关注点,插电、打开冰箱、放入大象,关闭冰箱

举例:面向对象它将所有的步骤都统一归为了对象(冰箱)所做的行为,冰箱作为一个对象它的功能就是对象的行为

类是上述一类对象的统称,对象就是这一类的具体化实现
面向对象的话就是代码类来描述客观世界中的事物一种方式,类中包含了类的属性,以及类的行为
例如类为动物 类的属性:哪些动物 类的行为:捕猎 睡觉 等。。。
new 关键字用于创建一个对象的实例.
使用 . 来访问对象中的属性和方法.
对象可以通过实例化创建多个

创建类的基本语法

class <class_name>{ // 创建类
field; //成员属性
method; //成员方法
}
//实例化对象
<class_name> <对象名> = new <class_name>();
//通过.来访问成员属性或者行为

代码实现

类中的代码:

class Person{
    public String name;
    public int age;
    public void sleep(){
        System.out.println("睡觉");
    }
    public void eat(){
        System.out.println("吃饭");
    }
    }
}

main函数:

public class test {
    public static void main(String[] args){
        Person person=new Person();//通过new来实力化出来的对象
        Person person1=new Person();
        Person person2=new Person();
        //可以通过对象实例化多个
        person.name="zhangsan";
        person.age=18;
        person.eat();
        //成员的方法进行引用需要通过对象来引用

类中的成员:

字段

类中的字段、成员属性以及成员变量三者称呼都是相同意思
例如:

class Person{
    public String name;
    public int age;
public class test {
    public static void main(String[] args){
        Person person=new Person();
        System.out.println(person.name);
        System.out.println(person.age);

这里我们要知道成员的变量默认值是0或者null
bollean类型的默认值为false
这里的默认是指不引用任何对象
在这里插入图片描述

方法

这里我们刚才提到的方法就是可以描述对象的行为类似于函数

class Person{
    public String name="张三";
    public int age=19;

    public void show(){
        System.out.println("我是"+name+",年龄"+age);
    }
}
public class test {
    public static void main(String[] args){
        Person person=new Person();
        person.show();

在这里插入图片描述

构造方法 (construction method)

在实例化对象的时候会被自动调用到的方法, 方法名字和类名相同, 用于对象的初始化.
虽然我们前面已经能将属性就地初始化, 但是有些时候可能需要进行一些更复杂的初始化逻辑, 这时候就可以用到构造方法.

static静态修饰字段代码:

public class test {
    public static void main(String[] args){
        Person person=new Person();
        person.a++;
        person.b++;
        System.out.println(person.a);
        System.out.println(person.b);

        Person person1=new Person();
        person1.a++;
        person1.b++;
        System.out.println(person1.a);
        System.out.println(person1.b);

输出结果
在这里插入图片描述
这里我们可以看到被static修饰后的变量被对象访问后都是使用的一块共同的空间。

static修饰方法:

静态方法属于类,而不属于类的对象。
在这里插入图片描述
上图中被static修饰的变量可以直接在方法中调用,没有修饰的变量则不可被调用

在这里插入图片描述
在这里插入图片描述

上图中被static修饰的方法不需要实例化的对象依然可以调用并输出结果

这里我们可以知道了静态方法和实例是无关的, 而是与类相关联
注意:静态方法不能调用非静态的成员与非静态的方法,这里的非静态成员都是与实例对象相关联的!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值