- 浏览: 120347 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
greemqqran:
这方法 源码,是怎么的哦?
可变参数,数组与集合之间的转换 -
greemqqran:
Arrays.asList
可变参数,数组与集合之间的转换 -
ricoyu:
引用? super E:接收的是E类型对象应该是: ? sup ...
泛型-
面向对象: 1,符合现实中人们思考习惯的一种思想。 2,它让程序员的角色在做这转变,从原来的执行者变成指挥者。 3,将复杂的问题简单化。 对象无处不在,一切皆对象。 对象是现实中实实在在存在个体,那么我们需要使用计算机语言对其进行描述。 在java当中,描述事物是通过类来完成,在计算机中操作事物是通过new 该类的对象,并指挥对象完成的。 例: 制造汽车,对汽车进行描述:图纸。对应的就是java中的类class。 通过图纸生成汽车:对象,对应的就是java通过new在堆内存中产生的实例。 通过java语言编写程序,其实就是在不断的定义类,并定义类中的成员。 成员包括:成员变量(事物的属性)和成员函数(事物的行为)。 对象的存在有什么好处?或者说为什么要创建对象呢? 对象可以用于封装数据。可以在对象中定义属性和行为,并被指挥。 体现在程序中,当要完成功能时,先明确java中是否已提供了已有的对象。如果有,那么可以直接指挥该对象的功能。 如过该对象不存在,定义一个对象,并将需要的功能封装到该对象当中,以便以后该对象的重用。 对象如何使用呢? 通过new的方式来建立,并通过 “对象.对象成员” 的方式指挥对象做事情。 需求: 对数组的常见操作:取最值,排序,查找,变量打印。。。 每一次出现数组需要这样的操作都需要定义对应的功能。较为麻烦。 将这些功能都进行封装。封装到对象当中,以便重用。 早期: int[] arr = new int[3]; public int getMax(int[] arr) { int max = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x]>max) max = arr[x]; } } public int getMin(int[] arr) { int min = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x]<min) min = arr[x]; } } 对象的出现。现在常用情况: class ArrayTool { public int getMax(int[] arr) { int max = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x]>max) max = arr[x]; } } public int getMin(int[] arr) { int min = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x]<min) min = arr[x]; } } public void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else System.out.println(arr[x]); } } } class Demo { public static void main(String[] args) { int[] arr = new int[2]; ArrayTool at = new ArrayTool(); int max = at.getMax(arr); at.printArray(arr); } } ----------------------------了解---- 匿名对象:其实就是没有名字的对象,可以理解为创建对象的简化形式。 使用情况: 1,当只对对象的方法进行一次调用的使用,可以使用匿名对象。 Car c = new Car();//简化成;new Car().run(); c.run(); //c.run(); 2,匿名对象可以作为实际参数进行传递。 show(new Car()); public void show(Car c)//Car c = new Car(); { c.run(); } ----------------------------------- 面向对象的第一个特征:封装: 什么是封装呢? 其实就是隐藏实现细节,提高了安全性。 在代码的体现: 函数就是一个最小最直接的封装体。 类本身也是一种封装。 包也是一个封装体。 SSH框架也是一种封装。 tomcat服务器软件。 在通过类建立对象后,通过对象调用成员,可以使用使用对象的属性。 但是直接对属性操作容易出现安全隐患如:人的年龄,如果被直接操作容易出现负数。 为了提高安全性,所以避免直接对象属性进行访问,使用了一个关键字:private 私有。 私有只修饰成员,并该成员只在本类中有效。 如何可以对人对象的age进行赋值呢? 通过对外提供方法来间接访问age属性。而该方法已有自己的规范。set。get。 private只是封装特性的一种体现形式而已。 class Person { private int age; public void setAge(int x) { age = x; } public int getAge() { return age; } void speak() { System.out.println("age="+age); } } main() { Person p = new Person(); p.age = -20;//描述的事物不具备负数值。当age私有时,在如此访问就会编译失败。 }
发表评论
-
动态代理+注解实现用户权限控制
2012-12-23 00:01 1363首先第一步我们需要定义一个接口UserDao p ... -
JDK动态代理模式
2012-12-22 21:51 900package cn.dhcool.dynamic.proxy ... -
代理proxy模式
2012-12-22 20:45 0静态代理模式: 需要有一个公共的借口,还有一个真实的实现类, ... -
工厂模式下出现的问题-null异常
2012-12-15 18:31 922遇到了一个问题: public class Dao ... -
内部类详解
2011-12-09 21:23 666从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论 ... -
动态代理实现
2011-11-22 02:03 1048package com.dhcool.proxy; ... -
内省总结
2011-11-19 02:43 843package com.dhcool.introspec ... -
线程锁
2011-10-10 13:27 822sleep(), wait(),yield(),这3个方法,s ... -
类似百度谷歌分页算法实现
2011-09-08 15:58 1594<%@ page language="j ... -
充当服务端代码
2011-08-05 16:53 676import java.net.*; import java ... -
获取文件中邮件的示例
2011-08-05 12:25 737import java.util.regex.*; impo ... -
正则表达式常用字符
2011-08-05 12:22 920构造 匹配 字符 x 字符 x ... -
正则表达式
2011-08-05 12:16 847第一种:1.定义匹配规则如:String qqreg = &q ... -
InetAddress
2011-08-04 21:59 904import java.net.*; class Inet ... -
B/S socket
2011-08-04 21:08 1030import java.net.*; import java ... -
TCP多线程文件上传
2011-08-04 14:51 897/* 上传图片 */ import java.io.*; ... -
网络编程基础
2011-08-04 14:25 838网络编程: 网络通讯中所需要了解的一些内容。 T ... -
一道题
2011-08-02 21:05 614/* 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 ... -
TCP
2011-08-02 20:46 781import java.net.*; import ja ... -
UDP
2011-08-02 20:35 864import java.net.*; import java ...
相关推荐
《妙解Hibernate 3.x:叩响面向对象思想之门》是一本深入解析Hibernate框架的专著,旨在帮助读者理解并掌握面向对象编程思想在实际开发中的应用,尤其是在使用Hibernate时如何有效地进行数据持久化。这本书是面向...
在实际开发中,面向对象思想的应用还包括设计模式,如单例模式、工厂模式、观察者模式等,这些都是在特定场景下解决问题的通用解决方案。掌握这些设计模式,可以提升代码的可读性、可维护性和可扩展性。 总之,理解...
面向对象思想是现代软件开发的核心概念之一,它通过模拟现实世界中的对象及其相互作用来构建程序,从而提高代码的复用性、灵活性和可维护性。以下是对面向对象思想几个关键知识点的深入探讨: ### 一、面向对象的...
面向对象思想是软件开发中的核心概念之一,尤其在Java编程语言中被广泛应用。这个经典实例——英汉字典的设计,旨在帮助初学者理解面向对象的思维方式和软件分层模型的实践应用。 面向对象(Object-Oriented ...
### 面向对象思想(贝尔实验室内部资料) #### 概述 贝尔实验室撰写的这份面向对象编程思想的培训资料,以简洁明了的方式通过PPT形式深入浅出地介绍了面向对象设计的基本概念与核心原则。尽管篇幅不长,但内容精炼且...
本文将详细讲解如何利用面向对象思想设计一个简单的控制台人机掷骰子积分小游戏,以及在C++中实现银行个人账户数据管理系统的相关知识点。 首先,我们从标题入手,"骰子游戏--利用面向对象思想设计的一个简单控制台...
Java面向对象思想与程序设计电子笔记(刘彦君版),帮助Java学习者从入门走向精通。这是个很高的目标,非常具有挑战性,本笔记就是融合初学者学习的困难,将抽象困难理解的Java入门变得简单易懂,方便初学者跨入Java...
面向对象思想在游戏设计中的应用是现代游戏开发中不可或缺的一部分。这一思想主要基于三个核心概念:封装、继承和多态。下面将详细讲解这三个概念及其在游戏设计中的具体应用。 **1. 封装(Encapsulation)** 封装...
1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象思想.zip1.java学习面向对象...
根据提供的标题、描述以及部分内容,本文将深入探讨面向对象编程中的关键概念,并解析与之相关的技术细节。面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用“对象”来设计软件。对象是...
在本教学资料"Java面向对象思想与程序设计-PPT.zip"中,我们可以通过PPT来深入理解这些概念。 1. **类与对象**:在Java中,类是对象的蓝图,定义了对象的状态(数据成员或属性)和行为(方法)。对象是类的实例,...
面向对象思想是软件开发中的一个重要概念,它将现实世界中的事物模型化为计算机程序中的类和对象,使得代码更易于理解和维护。在这个个人所得税计算程序中,我们可以看到这种思想的具体应用。 首先,让我们理解一下...
面向对象思想是编程领域中的一个重要概念,它是一种模拟现实世界中对象和类的抽象思维方式,使得代码更加结构化、模块化。本资源“面向对象思想学习(精华版)”汇集了多位资深程序员的经验心得,旨在帮助初学者和有...
面向对象思想和面向过程思想是两种不同的编程思维方式,它们在软件开发中有着不同的应用和优势。下面我们将深入探讨这两种思想的差异以及它们在实际编程中的体现。 **面向过程思想** 面向过程思想是一种以过程为...
4. **面向对象思想**:面向对象编程是一种程序设计范式,它基于“对象”的概念,其中对象包含数据(属性)和操作这些数据的方法(函数)。 现在,让我们详细分析给定的文件: 1. **menu.c**:这个文件可能包含了...
面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用的编程范式,它将程序设计中的实体抽象为对象,通过对象之间的交互来完成任务。在这个“人机猜拳游戏”的实现过程中,我们将深入理解OOP的核心...
在本案例中,“面向对象思想做的简单计算器”是一个使用OOP理念设计的计算器程序。下面我们将深入探讨这个主题。 首先,让我们了解什么是面向对象。面向对象的核心概念包括类(Class)、对象(Object)、继承...
在这个案例中,"C语言实现面向对象思想编程"指的是使用C语言来模仿面向对象的特性,如封装、继承和多态。 面向对象编程的核心概念包括: 1. **封装**:封装是将数据和操作这些数据的方法绑定在一起的机制。在C语言...