java类与对象初级

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP)。对象是对一些模块的封装,不用理解底层构造,可以直接使用提供的接口。大大简化了对程序设计的封装和通用性。


和c++中的类类似,java中的类也包括变量与方法。

类是一种抽象概念,可以理解为一种模版(比如电脑图纸)。对象是依据类的说明而实例化的产物(比如台式机,笔记本)。

关键字

class
public class Date
{
    //这里遵循c++命名风格
    public int _year;
    public int _month;
    public int _day;
    
    public void show()
    {
        System.err.println(_year + "年" + _month + "月"
        + _day + "日");
    }
}

上面就是一个简单的类,包括变量与方法。这里有新的关键字public,这里等下再说。

这里我们定义好了一个类那么如何使用呢?

//上面说过,类是一个模版(图纸),并不是真实的产物,所以要经过实例化才能生产可使用的对象
    public static void main(String[] args)  {
    //实例化
    Date date1 = new Date();
    //初始化,等会会讲到通用形式的初始化方法,而不是这种在类外部初始化
    date1._year = 2024;
    date1._month = 5;
    date1._day = 15;
    
    date1.show();//这里调用date中的方法。因为方法show是在对象date1中,所以要用date1.去指明是date1中的show方法
​
    }

上面就讲到了类的使用,首先要实例化,之后初始化,调用方法即可。如同买一部手机,下载软件,使用软件。

这里的date1.show(),既是指定了是什么模块的什么方法了。


public
//public 指明某个对象或方法为可以公共访问
//比如刚那个那个类中的变量均可在类外访问,就使用了关键字public
private
//这是是指明某个对象或方法只能在类内部使用
private _year;
//这个对象只能在类内部访问,外部访问会直接报错
this
//this关键字是在类中指明类变量还是外部变量,这种一般用于函数变量与类变量相同使用
//如果不加this编译器会认为函数输入的变量自己给自己赋值。不过如果名字不一样,那么不需要加this,编译器会自动识别。
    public void get(int _year,int _month, int _day)
    {
        this._year = _year;
        this._month = _month;
        this._day = _day;
    }

方法

java中有两种方法,一种是静态方法,一种是非静态方法。非静态方法依靠对象来调用,静态方法不需要对象

静态方法

不依靠实例化对象即可调用的方法

public class halloworld
{
    //方法的定义 这里的static表示此方法是静态的,后面是方法。
    public static void fun()
    {}
​
    public static void main(String[] args)
    {
        //方法的使用
        halloworld.fun();
        fun();
        //这两种使用方法均可,第一种是指明了是什么类里面的方法,第二种由于是在定义该方法类里面调用,编译器默认可以找到,所以不用写类名。
    }
}

静态方法一般用于定义main方法中的通用方法,或者父类中的通用方法

非静态方法

依靠实例化对象才能使用的方法。

public class Test {
    //非静态方法的定义 
    public void fun()
    {
        System.err.println("Test...");
    }
}
//注:这里的java类在不同java文件中
​
public class App {
​
    public static void main(String[] args) throws Exception {
        Test test1 = new Test();
        test1.fun();
        
    }
}

这里的方法必须依靠实例化对象才能调用,不能直接调用,所以非静态方法也称为类方法。

特殊的静态方法

构造方法

构造方法是类在进行初始化时候调用的方法。

构造方法的要求:

1、方法名和类名相同

2、无修饰

public class Test {
    int _a = 1;
    //这里就是构造方法,不写构造方法编译器会自动生成,但是写了编译器就不会自动生成
    Test(int a)
    {
        _a = a;
    }
}
方法的一些注意事项

1、静态方法中不能使用this关键字,因为this是实例化后的对象才生成的,而类只是图纸未进行事例化,所以不可使用this关键字。

2、非静态方法的一些权限(public,private)。这些需要考虑是否向外界提供接口,比如向外界提供对私有成员的访问方法,修改方法。这些是需要多加考虑

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值