使用java实现面向对象编程的总结报告(Java面向对象编程(一))java教程 / Java面向对象编程实战...

wufei123 发布于 2024-02-18 阅读(130)

什么是面向对象编程说到面向对象就要区分面向过程,面向过程思想:步骤清晰简单,第一步做什么,第二步做什么面向对象思想:物以类聚,对一个问题先思考解决问题需要哪些分类,然后对这些类进行单独思考最后对某个类下的细节进行面向过程的探索。

面向对象适合处理复杂的问题,能够把复杂问题分解成简单的子问题,适合需要多人协作的问题所以说,对于描述复杂事物或者问题,通常使用面向对象的思路分析整个系统,具体到某个操作时仍然需要面向过程的思路去处理Java中的面向对象

面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据抽象:把很多个体的共同点抽象出来,组成一个类三大特性:封装--把数据全部装到一个对象中去,只能通过这个对象来访问该数据(对象名.数据),这就是封装。

继承--类(class)与类之间允许继承,类是属性和方法的集合,有时候相同的方法或者属性不需要重复编写,继承就可以让一个类调用另一个类属性和方法,当然不是任意调用,需要遵守调用权限,这也是Java安全性的体现。

多态--字面意思“多种形态”,对于多态的方法,经不同的调用它的输出结果可能不一样Java中的构造器使用new()关键字创建对象时,不仅分配了内存空间还会给创建好的对象进行默认的初始化和、以及对类中构造器的调用

类中的构造器也叫构造方法,每个类必须要有其构造方法,并且有以下两个特点:必须和类的名称相同没有返回类型,void 也不写例子 重写一下默认的构造方法:publicclassMyclass { //重写构造函数

Myclass(){ System.out.println("调用了myclass类的构造方法"); } //main方法,程序运行入口publicstatic

voidmain(String[] args){ Myclass myclass = new Myclass(); } }从输出可以看出,在执行了new()语句就是调用了类的构造函数,新建了一个对象。

输出这个构造函数是没有参数的,而构造函数也是类的方法,方法是可以有参数设置的下面看有参构造:publicclassMyclass { //定义一个类的属性 String name;

//重写构造函数 Myclass(){ System.out.println("调用了myclass类的构造方法"); } Myclass(String name){ System.

out.println("调用了myclass类的有参构造方法"); //参数name赋值给类的属性name,this指代本类中的同名变量namethis.name = name; System.

out.println("参数值为: "+name); } //main方法,程序运行入口publicstaticvoidmain(String[] args){ Myclass myclass =

new Myclass() Myclass myclass1 = new Myclass("apple"); } }

输出结果在new()对象时java会根据有无参数,参数数量选择合适的构造函数来执行所以,构造方法和类名相同没有返回值new 本质是调用构造方法初始化对象的值定义了有参构造后,如果还想使用无参构造,必须显示定义(用代码写出来)一个无参构造函数。

创建对象的内存分析封装详解程序设计要求“高内聚,低耦合”,高内聚是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是只允许少量方法给外部使用就像你买一台电视,厂家只会告诉你如何使用,而不会把电视机的制作过程写在说明书上。

封装(数据的隐藏):通常禁止直接访问一个对象中的数据,而应该通过操作接口来访问,这称为信息隐藏封装在代码中最常见的是 :属性私有 get()/set():如下首先写一个Student类,封装了name,id,sex三个属性,并且给name写了get/set方法。

package oop; //包名; import该类时要带上publicclassStudent{ //属性私有化private String name; privatelong id;

privatechar sex; //获取namepublic String getName(){ returnthis.name; } //设置namepublic

voidsetName(String name){ this.name = name; } }下面从外部调用这个Student类封装的属性和方法:package oop; //import 要调用的类

import oop.Student; publicclassDemo01{ publicstaticvoidmain(String[] args){ //新建对象 Student s1 =

new Student(); //调用set方法,设置name属性 s1.setName("hongmao"); //调用get方法,获取name属性的值 String name = s1.getName();

//打印输出 System.out.println(name); } }正确编写代码,结果就是我们输入的name,通过这样的流程理解一下封装过程以及它的作用如果把属性访问权限设置成public,那外部可以直接访问该属性,但是出于安全考虑,Java程序设计中不会这么做。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

汇鑫 新闻5595