ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java之面向对象程序设计

2022-09-14 14:03:51  阅读:265  来源: 互联网

标签:Java 对象 学生 面向对象 程序设计 方法 public


一、面向对象的概念       

       面向对象简称OO,Java和Python语言一样,一切皆对象。对象是面向对象程序设计的核心,对象是真实世界的实体,一个实体就是一个对象。例如一个班级里,有学生和老师等实体(对象),学生有学号、姓名、年龄、性别、班级等属性,学生还有读书、写字、吃饭、走路等行为(方法)。学生其实是一种抽象的描述,我们可以把学生当成一个学生类,在这个学生类中,有张三同学、李四同学等,这些细化的学生就称为对象,同时也称为实例。

二、面向对象和面向过程的区别

      面向过程是分析出实现需求所需要的步骤,然后再通过函数一步步实现其步骤,接着调用这些函数即可,常见的面向过程语言是C语言。

      面向对象是把整个需求细分,比如把特点、功能划分,把存在共性的部分封装成一个对象,目的是描述事物在解决问题上的行为。常见的面向对象语言有Java、Python等。

面向对象和面向过程的优缺点如下:

 

三、 面向对象的三大特性

1、封装性

       面向对象核心思想之——封装,例如一家超市,顾客只需要选择自己需要的东西购买付钱即可,而超市的运维细节顾客不需要知道也不用知道。因此封装就是把内部的实现隐藏起来,只暴露必要方法让外部调用。

2、继承性

       继承主要描述类于类之间的关系,通过继承将原有的类(父类或者超类)的某些特征或全部特征继承到新的类(子类或派生类)中,就无需重写。

3、多态性

       多态指父类中的属性和方法被子类继承之后,可以有不同的数据类型和表现行为,是使同一属性和方法在不同类中具有不同的语义。

四、成员方法

 成员方法即实现类的行为的功能函数,由声明和方法两部分组成,一般格式如下:

修饰符:可选,用于指定方法的被访问权限,可选值有public、protected、private。

方法返回值的类型:必选,用于指定方法的返回值类型,如果没有返回值,那么用void关键字标识,其返回类型可以是Java的任意数据类型。

方法名:必选,用于指定成员方法名称。

参数列表:可选,用于指定方法中所需参数,多个参数值用逗号隔开,参数类型同样是Java的任意数据类型。

 想要调用成员方法,必须要在主方法中创建一个对象,再利用对象进行调用,因此再创建一个类

 ps:" new "关键字用来在内存中开辟一段内存空间

 最后运行结果:

五、构造方法与对象

 构造方法是一种特殊的方法,不需要用void关键字标识,其方法名和类名必须完全相同,没有返回值

 1 package com;
 2 
 3 public class Student {
 4     public String name;     //公共变量
 5     public static int age;     //静态变量
 6     public final String COUNTRY; //常量
 7     
 8     public Student() {     构造方法
 9         name = "张三";
10         age = 18;
11         COUNTRY = "china";
12     }
13     public void introduce() {
14         System.out.println("我的名字叫:"+ name +",今年"+ age + "岁了,我来自" + COUNTRY);
15     }
16     
17 }

再创建一个类,以完成操作

运行结果:

 六、垃圾对象和类型初始值 

各种类型变量的初始值,在没有指定数值时,采用初始值:

一个对象没有被任何变量引用,那么就会变成垃圾对象,不能再被使用。null是Java中特殊的变量,当变量值设为null时,那么该变量不会指向任何一个对象

 

标签:Java,对象,学生,面向对象,程序设计,方法,public
来源: https://www.cnblogs.com/gz20-02/p/16691933.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有