JAVA入门——对象和类

一、对象
1、面向对象
(1)Java语言是一种面向对象的语言。

(2)面向对象的思想是把问题看成是由若干个对象组成,这些对象之间是独立的,但又可以相互配合、连接和协调,从而共同完成整个程序要实现的任务和功能。

(3)面向对象的三大特征:封装、继承和多态。

2、对象解释
(1)对象是用来描述客观事物的一个实体。

(2)用面向对象方法解决问题时,要对现实世界中的对象进行分析和归纳,找出哪些对象与要解决的问题是相关的。
        (3)万事万物皆对象

3、 创建对象
(1)类是一类事物的集合和抽象,代表这类事物公有的属性和行为(方法)。

(2)一个对象成为类的一个实例,是类一次实例化的结果。

(3)类的对象可以调用类中的成员,如属性和方法等。

创建对象的语法格式如下:

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

        -->new是关键字

        -->左边的类名为对象的数据类型。

        -->右边的类名()成为类的构造方法。

        //类名 对象名 = new 类名();
        School school1 = new School();

4、 使用对象
在Java中,要引用对象的属性和方法,需要使用“.”。

使用对象的语法格式如下:

        对象名.属性 [= 属性值]; //引用对象的属性

        对象名.方法名(); //引用对象的方法

  例子:创建SchoolTest类,使用School类对象方法如下

public class SchoolTest {
 
    public static void main(String[] args) {
        
        //创建School类对象
        //类名 对象名 = new 类名();
        School school1 = new School();
        //给对象的属性赋值  对象名.属性名 = 数据;
        school1.schoolName = "魔法学院";
        school1.address = "安徽合肥";
        school1.year = 100;
        school1.phoneNumber = "13822556677";
        
        //对象调用方法  对象名.方法名();
        school1.printInfo();
 
    }
}


5、 对象数组
(1)对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象。

(2)根据数组下标找到某个元素时,按照对象的使用方法来使用该元素。

        类名[] 数组名 = {对象1,对象2,···,对象n};


面向对象的优点如下:

        (1)与人类的思维习惯一致:面向对象的思维方式是从人类考虑问题的角度出发,把人类解决问题的思维过程转变为程序能够理解的过程。面向对象程序设计使用“类”来模拟现实世界中的抽象概念,用“对象”来模拟现实世界中的实体,从而用计算机解决现实问题。

        (2)信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其他对象,利于维护。同时,封装使得在对象外部不能随意访问对象的属性和方法,避免了外部错误对它的影响,提高了安全性。

        (3)提高了程序的可重用性:一个类可以创建多个对象,体现了重用性。

二、类
1、类解释
(1)类是具有相同属性和方法的一组对象的集合。

(2)类定义了对象将会拥有的特征(属性)和行为(方法)。

(3)类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。

面向对象设计的过程就是抽象的过程,一般分为3步来完成。

(1)发现类,类定义了对象将会拥有的特征(属性)和行为(方法)。

(2)发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。

(3)发现类的方法,对象执行的操作称为类的方法。


2、 定义类
定义类的语法格式如下:

        [访问修饰符] class 类名{

                //类的内部代码

        }

        -->访问修饰符如public、private、protected、等是可选的。

        -->class是声明类的关键字。

        -->按照命名规范,类名首字母大写。

 例子:定义一个School类

public class School {
    
    //内部代码
 
}

3、 属性
Java中类的内部主要包含属性和方法。对象所拥有的特征在类中表示时称为类的属性。

定义属性的语法格式如下:

        [访问修饰符] 数据类型 属性名 [= 属性值];

        -->访问修饰符时可选的。

        -->除了访问修饰符之外,其他的语法和声明变量类似。

  例子:在School类中定义相关属性

    //定义属性: 数据类型 属性名;
    String schoolName;
    String address;
    int year;
    String phoneNumber;    

4、 方法
        对象执行操作的行为称为类的方法。

        定义方法的语法格式如下:

        [访问修饰符] 返回类型 方法名称(参数类型 参数名1,参数类型 参数名2,...,参数类型 参数名n){

                //方法体代码

        }

  例子:School类中定义了printInfo()方法

public class School {
    
    //定义属性: 数据类型 属性名;
    String schoolName;
    String address;
    int year;
    String phoneNumber;
    
    //定义方法
    
    public void printInfo(){
        System.out.println("学校名称:"+schoolName+",地址:"+address+",创办年数:"+year+",联系电话:"+phoneNumber);
    }
    
 
}

        -->访问修饰符是可选的。

        -->返回类型可以是void,在定义方法时,返回类型为void时表示没有返回值,方法体中不必使用“return”关键字返回具体数据,但是可以使用“return”关键字退出方法。

        -->返回类型如果不是“void”,那么在方法体中一定要使用“return”关键字返回对应类型的结果,否则程序会出现编译错误。

        -->小括号中的“参数类型 参数名1,参数类型 参数名2,...,参数类型 参数名n”称为参数列表。

        -->当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以省略,不过小括号不可以省略,传递多个参数时,以半角的逗号进行分隔。

5、方法分类
(1)方法按照有无参数分为:

        无参方法

        有参方法

(2)方法按照有无返回值分为:

        无返回值的方法

        有返回值的方法

(3)综上所述方法分为:

        无返回值的无参方法

        无返回值的有参方法

        有返回值的无参方法

        有返回值的有参方法

  例子:定义一个Demo01类,添加以上四种方法;

public class Demo01 {
 
    //无返回值的无参方法
    public void test1(){
        System.out.println("我是没有返回值的方法");
    }
    
    //有返回值的无参方法
    public String test2(){
        String str = "hello java";
        return str;
    }
    
    //无返回值的有参方法
    public void test3(int num1,int num2){
        System.out.println("你传递的两个参数数据是:"+num1+","+num2);
    }
    
    //有返回值的有参方法
    public int test4(int num1,int num2,int num3){
        return num1+num2+num3;
    }
}

  定义一个Demo01Test类,来使用上面的Demo01类对象,和方法:

public class Demo01Test {
 
    public static void main(String[] args) {
        //创建Demo01的对象,通过对象来调用Demo01类中的test1()和test2()方法
        
        Demo01 d1 = new Demo01();
        d1.test1();
        String result =d1.test2();
        System.out.println(result);
        System.out.println(d1.test2());
        
        d1.test3(10, 20);
        
        int a =100;
        int b =200;
        //调用有参方法的时候,传递的a和b是实际参数,简称实参,形参和实参的名称不需要一样,但是数据类型要一样
        d1.test3(a, b);
        
        int result2 =d1.test4(100, 200, 185);
        System.out.println(result2);
        System.out.println(d1.test4(10, 20, 30));
        
    }
 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值