这篇文章主要介绍了Java语言面向对象编程思想之类与对象实例详解,还是十分不错的,这里给大家分享下,需要的朋友可以参考。
在初学者学Java的时候,面向对象很难让人搞懂,那么今天小编就来为大家把这个思想来为大家用极为简单的方法理解吧。
首先我们来简单的阐述面向对象的思想。
面向对象:
官方的语言很抽象,我们把官方的解释和定义抛开。想想,自己有什么,对!!我们自己有手脚眼口鼻等一系列的器官。来把自己所具有的器官就可以看作我们的属性,自己是不是可以喜怒哀乐和嬉笑怒骂,这些是不是我们的行为,那么自己的具有的属性加自己有的行为就称为一个对象。
注意!!我们自己,一个个体是一个对象,因为,你是你,我是我,我们虽然有相同的,但是我们不一样,比如你比我高,我比你头发长。
接下来在进一步。我和你都是人,因为我和你有相似的东西,所以我和你都属于人类。人类,就是人的总称,也是相似对象的一种抽象。
从上面看:我和你只是人类的两个特列,但是外星人也可以用人类来称呼我们,看的出来:类的具体表现或者实例就是对象,而对象的抽象或者总概括就是类。
小编说的这么简单,没有用例子说话怎么行,下面我们进入用Java代码来反应情况。
下面我们来写出一个人的类,注意:对象是由类而来,类先有,对象后有,是类实例化才有。
原文代码不太合适,小编修改后如下:
public class Person { String name; int age; String gender; public Person() { } Person(String name,int age,String gender){ this.name = name; this.age = age; this.gender = gender; System.out.println(this.name+"对象被创建了"+",有"+this.age+"岁"+",是"+this.gender+"的"); } public static void main(String[] args) { Person p1 = new Person("张三", 18, "男"); Person p2 = new Person("李四", 19, "女"); } }
运行结果:
张三对象被创建了,有18岁,是男的 李四对象被创建了,有19岁,是女的
以上就是对面向对象的理解。
类:
上面小编已经说到类是属性加行为,上面的代码就已经说明了属性了
为了更好的说明行为,我们就加入Java中类的行为————方法
package objectandclass; import java.awt.SecondaryLoop; public class Person { String name; int age; String gender; public Person() { } Person(String name,int age,String gender){ this.name = name; this.age = age; this.gender = gender; System.out.println(this.name+"对象被创建了"+",有"+this.age+"岁"+",是"+this.gender+"的"); } public void say(){ System.out.println("我说我叫"+this.name+",别以为我不会说话,我会说很多话。"); } }
类有了方法之后,对象也能调用这个方法,我们称,此时对象具有了类的一些行为体现。
public static void main(String[] args) { Person p1 = new Person("张三", 18, "男"); p1.say(); Person p2 = new Person("李四", 19, "女"); p2.say(); }
显而易见:运行的结果肯定为:
张三对象被创建了,有18岁,是男的 我说我叫张三,别以为我不会说话,我会说很多话。 李四对象被创建了,有19岁,是女的 我说我叫李四,别以为我不会说话,我会说很多话。
下面我们说一说关于类的一些特征 :
类,他有自己的东西,也有给对象的东西。类的东西就是类的成员
类的成员一般有初始化块,构造器,属性,方法,内部类,枚举类。
如果是属于类的东西(直接可以用类名.成员调用。)则用static调用。
其实类的东西对象都能用,无论是不是静态的,但是不用static修饰 的,就是对象的东西,只能由实例化的对象来调用。
关于对象就不用说了,大家记两点就行,要创建对象,必须调用构造器。
初始化块可以看作是特殊的构造器,无参数传入,创建对象时,反正会被调用。
总结
以上是Java面向对象编程之类与对象的详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用