Java面向对象1----类与对象的定义和使用

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象1----类与对象的定义和使用相关的知识,希望对你有一定的参考价值。

基本概念

Java是一门面向对象的语言,面向对象三个主要特征:继承性,封装性,多态性

  • 封装性:内部的内容对外部不可见,确保了安全性
  • 继承性:在已有的类的基础上,继续进行功能的扩充
  • 多态性:类型的转换处理

面向对象程序开发三步骤

  • OOA:面向对象分析
  • OOD:面向对象设计
  • OOP:面向对象编程

类是对某一类事物的共性的抽象概念,而对象描述的是一个具体的事物。例如动物是一个类,而狗是类中的一个对象。交通工具是一个类,汽车是一个对象等等
在一个类中一般有两个组成部分:成员属性:操作方法

类的定义与使用

在Java中通过class关键字来定义类
示例:定义Person类并使用

class Person 
    String name; // 人的属性名字
    int age; // 人的属性年龄

    public void showInfo() 
        System.out.println("name: " + name + "\\nage: " + age);
    


public class Demo 
    public static void main(String[] args) 
        Person person = new Person(); // 实例化对象
        // 修改属性
        person.age = 20;
        person.name = "iostream";

        // 调用方法
        person.showInfo();
    



从代码中可以看出,类属性的定义相当于我们变量的定义,方法的定义也和前面将的方法的定义差不多,只是这里暂时没有static关键字。
实例化对象的方式:类名 对象名 = new 类名();,这种方法声明和实例化一起完成
调用属性方法:对象名.属性名
调用方法:对象名.属性名()

还有一种定义对象的方法先声明,再实例化

public static void main(String[] args) 
        Person person;
        person = new Person(); // 实例化对象
        // 修改属性
        person.age = 20;
        person.name = "iostream";

        // 调用方法
        person.showInfo();
    

这样的代码也能执行,但是如果将实例化的步骤删除,那么虽然我们声明了对象,但是还是不能调用属性或者方法的

public static void main(String[] args) 
        Person person;
        // person = new Person(); // 实例化对象
        // 修改属性
        person.age = 20;
        person.name = "iostream";

        // 调用方法
        person.showInfo();
    

属性的封装

类中的属性往往需要较高的安全性,不能让外部直接来访问,所有需要我们将属性隐藏起来,这就是封装的作用。像上面的例子中,我们可以在类外部修改属性,是非常不好的行为。
在Java中要对属性进行封装,就需要用到private关键字。封装后的属性对类外部不可访问的,对类的内部是可访问的

class Person 
    private String name; // 人的属性名字
    private int age; // 人的属性年龄

    public void showInfo() 
        System.out.println("name: " + name + "\\nage: " + age);
    


public class Demo 
    public static void main(String[] args) 
        Person person = new Person(); // 实例化对象
        // 修改属性
        person.age = 20;
        person.name = "iostream";

        // 调用方法
        person.showInfo();
    



如果要在外部对属性进行访问修改,就需要定义相关的方法。在Java标准中使用**setXxx(), getXxx()**来访问和修改属性

class Person 
    private String name; // 人的属性名字
    private int age; // 人的属性年龄

    public void setName(String s) 
        name = s;
    

    public void setAge(int n) 
        age = n;
    

    public String getName() 
        return name;
    

    public int getAge() 
        return age;
    

    public void showInfo() 
        System.out.println("name: " + name + "\\nage: " + age);
    


public class Demo 
    public static void main(String[] args) 
        Person person = new Person(); // 实例化对象
        // 修改属性
        person.setAge(20);
        person.setName("demo");

        // 调用方法
        person.showInfo();
    


以上是关于Java面向对象1----类与对象的定义和使用的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象1----类与对象的定义和使用

名师课堂Java面向对象开发

Java基础--面向对象编程1(类与对象)

JAVA SE—— 类与对象 (万字长文!!)

Java类和对象

Java面向对象-类与对象