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----类与对象的定义和使用的主要内容,如果未能解决你的问题,请参考以下文章