Java面向对象和类的定义
本篇内容介绍了"Java面向对象和类的定义"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、面向对象
1.面向对象是在程序中使用对象来映射现实中的事物,对象的关系来描述事物之间的联系。
2.面向对象的特点:
封装性:封装是将类的某些信息隐藏在类内部,不让外部程序去访问,需要通过这个类提供的方法来实现对隐藏信息的操作和访问。封装也是面向对象的核心思想,把类的属性和行为封装起来,不给外界知道具体的细节。
继承性:继承是类与类的一种关系,而不是对象在继承。子类从父类继承,子类中就拥有父类中定义的所有成员,只是类的继承,我们创建对象,对象与对象是毫无关系的。满足继承是一种"is a"关系,凡是满足"is a"关系的类就可以拥有继承的关系,当A类是1个B类的时候,那么A类就可以从B类继承,例如"猫"继承"动物",动物类是猫类的父类或基类,猫类是动物类的子类或派生类。
多态性:多态就是对象的多种形态。在程序中可以出现重名现象,它指在一个类中定义的方法和属性被其他类继承,它们就有不同的数据类型或表现出不同的行为,使得同一个属性和方法在不同类有不同的意义。
二、类的定义
1.什么是类?
物以类聚,人以群分。类是对一群具有相同特征或行为的事物的1个统称。是抽象的也不能直接使用。如果非要使用类的话呢?只能去找这一类事物中的一个具体存在,然后使用这个具体存在。
2.类中可以定义成员变量和成员方法,其中成员变量用来描述对象的特征,也叫做属性。成员方法用来描述对象的行为,称作方法。
3.如何定义一个类
class Person{ int age;//定义int类型变量age //定义speak()方法 void speak(){ System.out.print("我今年"+age+"岁"); } }
首先是定义了一个Person类,Person是类名,age是成员变量,speak()成员方法。在成员方法可以访问成员变量的age。
4.定义在类中的变量是成员变量,定义在方法中的变量局部变量。假设在某一个方法中定义局部变量跟成员变量的名是一样的,这时方法访问的是局部变量而不是成员变量。
例如:
class Person{ int age=3;//成员变量 //定义speak()方法 void speak(){ int age=10;//局部变量 System.out.print("我今年"+age+"岁"); } } public class p13 { public static void main(String[] args) { // TODO Auto-generated method stub Person p1=new Person(); p1.speak(); } }
输出的结果是:
我今年10岁
三、对象的创建和使用
1.什么是对象
对象是现实生活中的一个个具体存在.。看得见、摸的着。拿过来就可以直接使用。
2.创建对象的格式
类名 对象名称=new 类名();
例如:
Person p=new Person();
上面代码中"new Person()"是创建Person类的一个实例对象,"Person p"是Person类的变量p。"="表示Person对象在内存中的地址赋值给变量p。这个变量p就有了对象的引用。
3.创建对象后,可以通过对象的引用来访问对象的所有成员。
访问对象成员的格式
对象引用.对象成员
4.如何访问对象成员的案例
class Person{ int age;//成员变量 //定义speak()方法 void speak(){ System.out.println("我叫张三,今年"+age+"岁"); } } public class p13 { public static void main(String[] args) { // TODO Auto-generated method stub //创建两个Person的对象 Person p1=new Person();//创建第一个Person对象 p1.age=8;//age属性赋值 p1.speak();//调用对象的方法 Person p2=new Person();//创建第二个Person对象 p2.speak();//调用对象的方法 } }
输出的结果是:
我叫张三,今年8岁 我叫张三,今年0岁
四、总结
本文主要介绍了面向对象概念,面向对象的三个特点封装性、继承性、多态性。类的定义和创建对象与使用。详细的介绍了怎么去定义一个类,通过案例来理解怎么去定义的。对象的创建与使用介绍了使用的格式,通过创建对象后,可以通过对象的引用来访问对象的成员。
"Java面向对象和类的定义"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!