J2SE——面向对象基础知识积累

2024-08-25 16:08

本文主要是介绍J2SE——面向对象基础知识积累,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       学习完J2SE中第三章的视频,让我们对面向对象有了更系统的认识,不断的积累基础知识,才能将我们的知识连成网……

      一、

     如果想要熟知面向对象的思想,首先我们要知道什么是类,什么是对象,以及它们之间的关系。

     1、类是指具有同样特征的事物的抽象

          对象是指这类事物的一个实例

     2、类(对象)之间的关系

          继承、聚合(聚集、组合)、关联、实现、多态

     二、

    当我们从面向过程的编程转向面向对象的编程的时候,要有面向对象的思想。那就是:

    在考虑一个问题的时候,需要从两点入手:1、这个问题中有哪些对象(类),类都有哪些属性和方法2、类和类之间的关系。

    抽象方法:通俗的说这个方法只有方法头,没有具体实现的代码,需要子类继承来实现。

    接口(interface):是一种特殊的抽象类,里面的方法都是抽象方法,并且都是public。类与接口的关系是实现(implements)。一个类可以实现多个接口,一个接口可以被多个类实现。

    如果这个类中含有抽象方法,那么这个类叫做抽象类。用关键字abstract表示。

    三、

    在编程中,内存分析是一直贯穿的,我们只有明白了每句代码在内存中的分布,才能写出更优的代码。

    我们的内存分为四块区域:代码区、静态变量和字符串常量区、堆区、栈区

    stack是栈,存放局部变量。

    heap是堆,动态申请内存用的。基本上所有new出来的东西都在堆里面。


       我们new出来一个新对象的时候,在栈区内存中有一小块内存保存这个变量的名字,在堆区开辟一大块内存保存这个变量。也就是引用:一小块内存(栈中)指向一大块内存(堆中)。

      Static关键字:static的成员变量一般分布在data区域中,属于这个类的所有 对象,属于整个类。不需要new这个对象,就可以进行访问。非static的,必须new 一个对象才能进行访问。

     四、

     每一个新对象都有构造方法,构造方法和类同名,没有返回值,也没有void关键字。

     对象中会有方法,方法可以被重载和重写。

     重载:方法名一样,参数的类型或个数不同。

     重写:子类继承父类的方法,进行一定的修改。

     This关键字:指得是当前的对象。

     当类很多时,为了解决类的重名问题,我们将类放在一个包中。这个类打好包之后必须将这个类的class放在规定的目录下面。当引用这个类的时候可以是将这个类的路径写全了,也可以是通过import关键字来进行引用。注意:这个类所在的包的目录必须在classpath 下面。或者是打一个jar包,这个jar包在classpath里。当classpath中有两个重名的类时,要注意先后顺序。

     每个类都有自己的访问控制,这就是由它的访问控制关键字来决定:

     private私有的,只有自己能访问

     default同一个包里的其他类可以访问

     protected子类可以访问

     public公有

     注意:所有的关键字都可以修饰内部类

    当类中出现final关键字,(相当于const)那么:

     final的变量不能改变值

     final的方法不能被重写

     final的class不能被继承

 

    五、

    面向对象的一个大特点是:多态(polymophysm)。多态的条件是:1、有继承2、有重写3、父类应用指向子类。

    总结:面向对象是编程的一个重要的思想,我们需要不断的积累基础知识,慢慢的认识,让自己理解的更深刻。从基础知识开始积累,编织自己的知识网。


这篇关于J2SE——面向对象基础知识积累的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106012

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

ffmpeg面向对象-待定

1.常用对象 rtsp拉流第一步都是avformat_open_input,其入参可以看下怎么用: AVFormatContext *fmt_ctx = NULL;result = avformat_open_input(&fmt_ctx, input_filename, NULL, NULL); 其中fmt_ctx 如何分配内存的?如下 int avformat_open_input(

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

有关机械硬盘的基础知识

1,机械硬盘的品牌   目前市场中常见的笔记本电脑的机械硬盘品牌主要有希捷、西部数据、三星等。   2,机械硬盘的容量   硬盘容量,即硬盘所能存储的最大数据量。虽然笔记本电脑硬盘的容量会因单位密度的提升而增加,不过和台式电脑的大容量比起来,笔记本电脑硬盘的容量仍然落后许多。笔记本电脑的硬盘除了对磁盘有体积较小和数量较少的要求之外,对功耗、耐用程度、抗震性及成本等的考虑,也让笔记

chapter06 面向对象基础 知识点Note

文章目录 前言类的设计 属性和行为对象的内存解析 (堆 栈 方法区)类的成员之一 变量(属性) field类的成员之二 方法 method对象数组方法重载 overload可变个数的形参 语法糖方法的值传递机制递归关键字package importMVC设计模式import导入面向对象特征之一 封装类的成员之三 构造器JavaBeanUML类图 前言 ` 面向对象封装 面向

OpenGL ES学习总结:基础知识简介

什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库。 为桌面版本OpenGL 的一个子集。 OpenGL ES管道(Pipeline) OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工

JAVA初级掌握的J2SE知识(二)和Java核心的API

/** 这篇文章送给所有学习java的同学,请大家检验一下自己,不要自满,你们正在学习java的路上,你们要加油,蜕变是个痛苦的过程,忍受过后,才会蜕变! */ Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。 但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。 1、java.lang包下的80%以上的类