Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

深入理解Java中的继承

深入理解Java中的继承

对于面向对象的程序设计而言,每一个程序员都应该去了解Java中的封装,继承和多态,那么我今天来说的主要是以继承为核心的主题。一.关于对继承的理解。继承是面向对象的三大特性之一,是java中实现代码重用的重要手段之一。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但J...
Java中的构造函数和重载

Java中的构造函数和重载

一.Java中的构造函数构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字。构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身。构造函数定义后,创建对象时就会自动调用它,对新创建的对象分配内存空间和初始化。在 Java 中,构造函数也可以重载,当创建一个对象时, JVM 会自动根据当前对方法的调用形式在类的定义中匹配形式符合的构造方法,匹配成功后执行该构造方法。eg:public Class Dog{pr...
Java中的封装

Java中的封装

在前面的一些日子里,一只都在学习C#语言,使用C#在做一些小项目的,今天转到了Java的学习,还是感觉有点的不习惯,没有以前的中文界面的,全是英文。写起代码来都一直保持着C#中的编码的习惯,但是学习JAVA并不是很难,今天讲的JAVA中抽象和封装和C#之前学过的非常类似,所以只要C#学的好,转到JAVA还是挺容易的。好了,下面进入主题。 一.关于Class类的访问权限问题。 01.public:可以供所有的类访问。在JAVA中如果一个类没有访问修饰符,...
深入理解索引器

深入理解索引器

在我们开发中常见的用到索引器的地方非常之多,索引器是一个非常微妙的特殊类的成员,它能够让对象以类似数组的方式来存取,当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。使程序看起来更为直观,更容易编写。一.定义索引器 定义索引器的方式与定义属性有些类似,其一般形式如下: [修饰符]数据类型this[索引类型index] { get{//获得属性的代码} set{//设置属性的代码} ...
探讨关于C#中Foreach的本质

探讨关于C#中Foreach的本质

一.为什么数组和集合可以使用foreach遍历01. 因为数组和集合都实现了IEnumerable接口,该接口中只有一个方法,GetEnumerator()02.数组类型是从抽象基类型Array派生的引用类型。由于此类型实现了IEnumerable,因此可以对C#中的所有数组使用foreach迭代。(摘自MSDN)二.探讨针对于List集合微软的是怎么实现这个IEnumerable接口的该接口的方法public interface IEnumerable{...
深入理解如何使用接口

深入理解如何使用接口

一.什么是接口接口是组件之间的协议,描述了组件对外提供的服务。从技术上讲接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。接口可以从父接口中继承。接口的继承首先是说明性继承,不是实现性继承,它的实现需要通过类或结构来实现;其次接口继承可以是多继承。二.定义接口 //定义一个接口public interface IFly{string Fly();}接口包含的成员有方法、属性、索引指示器和事件。由于接口允许多继承,在可能...
在C#中开启事务

在C#中开启事务

1.为什么要开启事务:举一个简单的例子:在银行业务中,有一条记账原则,即又借有贷。为了保证这种原则,每发生一笔银行业务,就必须保证会计账目上借方科目和贷方科目至少个少一笔,并且这两笔要么同时成功,要么同时失败。 事务是一个单个的工作单元。如果某一个事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久部分。如果事务遇到错误,这时必须进行回滚操作,则所有数据更改均被清除。2.在C#中开启事务我们都知道在数据库中如何开启事务,那么如果想通过在C...
php生成器的使用

php生成器的使用

按照php的文档说明一个生成器函数看起来像一个普通的函数,不同的是普通函数返回一个值,而一个生成器可以yield生成许多它所需要的值。 当一个生成器被调用的时候,它返回一个可以被遍历的对象.当你遍历这个对象的时候(例如通过一个foreach循环),PHP 将会在每次需要值的时候调用生成器函数,并在产生一个值之后保存生成器的状态,这样它就可以在需要产生下一个值的时候恢复调用状态。 一旦不再需要产生更多的值,生成器函数可以简单退出,而调用生成器的代码还可以继续...
C语言 复制字符串 malloc

C语言 复制字符串 malloc

今天在看前辈的代码,对其中字符串复制有时候直接把指针赋给另一个指针,有的malloc一个内存,然后把整个字符串的值拷贝过来,有点费解,就研究了一下,会了之后发现也没什么奥秘,其实很简单,不过还是记录一下比较好。先写结论:如果要拷贝的源字符串的内存会被回收,那么就必须malloc一个内存再拷贝整个字符串(有时候malloc是防止修改源字符串,不过不考虑这个因素),如果不会被回收则不用。下面是测试代码#include <stdio.h> #incl...
Python socket 编程初探

Python socket 编程初探

一 简介socket是两个应用程序进行通信的管道,这两个应用程序可以在同一台机器上,也可以位于两台不同的机器上,相同的网络或者不同网络之间的。Pythonsocket有丰富的类和方法,可以简化socket编程。本文算是一个学习笔记。二 socket2.1 socket类型socket.AF_UNIX只能够用于单一的Unix系统进程间通信socket.AF_INET服务器之间网络通信socket.AF_INET6用于IPv6网络的通信socket.SOCK_...
C/C++与Matlab混合编程

C/C++与Matlab混合编程

Matlab 拥有丰富的功能,编程简单。不过,有些情况下,Matlab程序的执行速度比较慢。C/C++编译执行的程序速度比较快,编程难度上比Matlab要高一些。因此存在一种方案,就是使用Matlab实现我们的实验程序,用C/C++来实现Matlab程序中比较耗时的部分,从Matlab程序中调用C/C++的程序以实现加速。Visual C++ 20151:配置环境1.1:在vc++目录中包含目录:(1):生成的mydll.h所在目录。 (2):ma...
使用Unity 实现依赖注入

使用Unity 实现依赖注入

什么是Unity?Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入。Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题。构建一个成功应用程序的关键是实现非常松散的耦合设计。松散耦合的应用程序更灵活,更易于维护。这样的程序也更容易在开发期间进行测试。你可以模拟对象,具有较强的具体依赖关系的垫片(轻量级模拟实现),如数据库连接,网络连接,ERP连接,和丰富的用户界面组件。例如,处理客户信息的对象可能依赖于其他对象访...
C#中调用Matlab人工神经网络算法实现手写数字识别

C#中调用Matlab人工神经网络算法实现手写数字识别

手写数字识别实现设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率关键字:二值化 投影 矩阵 目标定位 Matlab 手写数字图像识别简介:手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有0到9,10个阿拉伯数字)、阿拉伯数字笔画少并且简单等。手写阿拉伯数字的识别采用的方法相对于人脸识别、汉字识别等应用领域来说可以采...
Python3实现最小堆建堆算法

Python3实现最小堆建堆算法

今天看Python CookBook中关于“求list中最大(最小)的N个元素”的内容,介绍了直接使用python的heapq模块的nlargest和nsmallest函数的解决方式,记得学习数据结构的时候有个堆排序算法,所以顺便研究了一下“堆”结构(这里特指二叉堆)。概念所谓二叉堆(binary heap)实际上就是一颗特殊的完全二叉树,其特殊性在于:二叉树中所有的父节点的值都不大于/不小于其子节点;根节点...
MyBatis 实现消息页面,批量查询用户信息

MyBatis 实现消息页面,批量查询用户信息

1,背景开发了Java这么久,有的时候会偷懒写一些代码,影响性能。 比如 消息列表里面,查询用户信息。 这样就会造成一个N+1的问题,有多少条消息就查询了多少次用户信息。hibernate 里面有个很不错的功能 left outer join fetch。可以解决N+1的问题,但是现在已经没有人用hibernate了,用mybatis的人比较多,所以得手动写代码进行查询优化了。开始写代码想着完成功能,在后来就要考虑优化,使用高效的查询方式,这样的才能提高用...
<< 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 >>