`
caiwb1990
  • 浏览: 312604 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java总结-面向对象初步

    博客分类:
  • java
 
阅读更多

面向对象:
	1,它是一种符合现实中人们思考习惯的一种思想。
	2,它的出现可以将复杂问题简单化。
	3,它的出现让程序员的角色从执行者变成了指挥者。

	面对对象是相对于面向过程而言的。
	面向过程:
		强调的是动作,执行过程。
	面向对象:
		强调的是被操作的事物。
	举例:
		多窗口的操作:移动,关闭。
		面向过程:移动窗口,关闭窗口。
			只需要将移动动作完成,关闭动作完成即可。
		面向对象:窗口移动,窗口关闭。
			先对窗口进行描述,并将移动动作和关闭动作定义在窗口中。
		
		其实面对对象是基于面向过程的。


		区别:
			以前是程序员指定窗口操作动过,
			现在是指挥窗口对象,调用其操作动作。
	大象放进冰箱里:
		1,打开冰箱。
		2,将大象存入。
		3,关闭冰箱。
		将冰箱描述描述对象,将打开动作,存储动作,关闭动作定义在该冰箱对象中。
		只要指挥冰箱做事情即可。并将大象作为参数传入。


	面试时:
		问:什么是面向对象呢?
		答:面向对象的三个理解,举例:面试官其实就是在用面向对象的思想思考问题,
		为了提高项目开发效率,你就找到我这个对象,并指挥我这个对象,调用了我的专业编程功能,
		来为公司创造价值。
		对于面试官您来将,就是一个指挥者,您将项目制作过程简单化。
		面对对象还有三大特征:封装,继承,多态。


-----------------------------------

	对象和类的关系:
		类其实就是对事物的描述。而对象其实即使该事物实实在在存在的个体。
		我们使用计算机语言其实就是为了描述现实生活中的事物(万物皆对象)。

		为什么要将事物封装成对象呢?
		因为可以在该事物中定义和其相关的属性和行为。方便于指挥这个对象做事情。


		
		体现在程序中,就是开始时,先要想到是否有已有的对象可以完成所需的功能。
		如果没有相对应的对象,自己就建立一个对象。以便后期重用。

	class Person
	{
		int age;
		String name;
		public void speak()
		{
			System.out.println(name+","+age);
		}
	}
	class PersonDemo
	{
		public static void main(String[] args)
		{
			Person p = new Person();
			p.age = 20;
			p.name = "lisi"
			p.speak();
		}
	}


	匿名对象:其实就是定义对象的简化形式。
		1,当对象对应方法进行一次调用的时候,可以使用匿名对象。
		2,匿名对象可以作为实际参数进行传递。

------------------------------------
	封装:其实就是隐藏实现细节。
		在程序中,函数就是最小的封装体。
			类也是一种封装形式。
			包也是一种封装形式。
			对于框架SSH,也是封装。
	好处:提高安全性。

	开发时,不需要对外提供都隐藏起来。
	
	封装的一种体现形式。

	class Person
	{
		private int age;//私有成员只在本类中有效。这时在其他类中建立对象也访问不到。将age隐藏。
		String name;
		public void speak()
		{
			System.out.println(name+","+age);
		}
	}
	class PersonDemo
	{
		public static void main(String[] args)
		{
			Person p = new Person();
			p.age = 20;//当建立Person对象后,给年龄age赋值时,因为age是int的,所以可以赋予负数-20.
				//但这样不符合现实中的情景。出现了安全隐患。产生问题的原因是什么呢?
				//age直接被访问造成的。为了避免这样的问题,将age私有化。
				
			p.name = "lisi"
			p.speak();
		}
	}


	将成员变量私有化后,通常提供公有方法对其进行访问。
	这样做的好处在于,可以在方法中的加入逻辑判断,以增强程序的健壮性。
	按照规范,每一个成员变量都会对应set,get方法。

	class Person
	{
		private int age;
		private String name;
		public void setAge(int a)
		{
			if(a>130 || a<0)
				System.out.println("no");
			else
				age = a;
		}
		public int getAge()
		{
			return age;
		}
		public void speak()
		{
			
		}
	}
	main()
	{
		Person p = new Person();
		p.setAge(30);
	}


-----------------------------------
			
进制转换:
	十进制-->二进制
	十进制-->十六进制。
	思路:
		可以通过查表法来完成转换动作。
		无论怎样的进制,取到其中一位都可以将该数据作为角标去查对应的表(数组)。

		获取进制中某一位需要通过&运算的形式。
		获取每一位,需要通过将原数据进行右移>>>一定的位数。
		而且这些动作都需要重复执行。

		private static String trans(int num,int base,int offset)
		{

			if(num==0)
				return "0";
			char[] chs = {'0','1','2','3'
					,'4','5','6','7'
					,'8','9','A','B'
					,'C','D','E','F'};
			//定义一个临时容器来存储每一次查表后的结果。
			char[] arr = new char[32];
			int pos = arr.length;

			while(num!=0)
			{
				int temp = num & base;
				arr[--pos] = chs[temp];
				num = num >>> offset;
			}
			
			return toString(arr,pos);

		}
		priavte static String toString(char[] arr,int pos)
		{
			String s = "";
			for(int x=pos; x<arr.length; x++)
			{
				s = s + arr[x];
			}

			return s;

			//return new String(arr,pos,arr.length-pos);
		}

		/*
		十进制-->二进制
		*/
		public static String toBin(int num)
		{
			return trans(num,1,1);
		}

		/*
		十进制-->十六进制 
		*/
		public static String toHex(int num)
		{
			return trans(num,15,4);
		}

		




0
0
分享到:
评论

相关推荐

    Java面向对象编程初步(1)

    ### Java面向对象编程初步知识点详解 #### 一、实验背景与目标 本次实验的主要目的是让学生进一步理解Java程序的构成,并掌握面向对象编程的基本概念。通过实际操作,学生将学会如何定义一个类,如何创建该类的...

    JAVA_JDBC面向对象分页(初步设计二之oracle)

    总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-006-Java语言概述-Java的特点-面向对象.mp4 北京动力节点-Java编程零基础教程-007-Java语言概述-Java的特点-跨平台性.mp4 北京动力节点-Java编程零基础教程-008-Java语言概述-...

    JAVA面向对象编程入门课程标准.doc

    ### JAVA面向对象编程入门课程标准知识点解析 #### 一、课程背景与意义 - **Java语言**: 当前非常流行的网络编程语言之一。 - **面向对象编程(OOP)**: Java的核心特性之一,通过类和对象的概念来组织代码。 - **...

    CoreJava串讲---超好!

    3. **类与对象**:面向对象编程是Java的核心特性。类是对象的蓝图,对象则是类的实例。掌握类的定义、对象的创建与销毁、封装、继承和多态等概念至关重要。 4. **控制结构**:条件语句(如if、if-else、switch)和...

    大数据必学Java基础(三十三):面向对象介绍

    面向对象编程是现代软件开发中的核心概念,尤其是在Java这样的面向对象语言中。本文将深入探讨面向对象编程的基础,包括与面向过程编程的区别、类与对象的关系、以及面向对象的三个主要阶段。 一、面向过程与面向...

    JAVA面向对象程序设计教案.doc

    本教案旨在帮助学生掌握Java面向对象程序设计的基本知识和技能,通过对Java技术体系、面向对象技术思想和Java典型应用的学习,学生将掌握Java知识体系,掌握面向对象技术思想,掌握Java典型应用的处理问题的能力。...

    Java 开发--JSP学生学籍管理系统(源代码+论文+开题报告+外文翻译+答辩PPT).rar

    JSP的主要优势在于其与Servlet的紧密集成,使得开发者能够方便地处理HTTP请求,同时利用Java的面向对象特性进行业务逻辑编程。在这个学籍管理系统中,JSP可能被用来展示学生信息、接收用户输入并处理这些数据。 接...

    Java实验一-JAVA语言基础.doc

    - 将这三个类合并到一个`Hello.java`文件中,仍然可以正确编译和运行,体现了Java的面向对象特性以及包的概念。 实验总结中的问题点: - **环境变量设置**:确保`JAVA_HOME`、`PATH`和`CLASSPATH`设置正确,否则...

    java课程设计报告-俄罗斯方块游戏开发.doc

    - 掌握使用Java语言进行面向对象设计的基本方法; - 提高运用面向对象知识分析实际问题、解决实际问题的能力。 2. **设计要求**: - 选择Eclipse、JBuilder或NetBeans等作为开发平台,熟悉一种集成开发环境的使用; ...

    Java课程设计-简单计算器(含完整源代码)

    【Java课程设计-简单计算器】是一项面向计算机科学与技术专业学生的实践任务,旨在通过实现一个基础的计算功能软件,让学生巩固Java编程基础知识,提升面向对象编程能力,以及加强实际操作和创新思维。在这个项目中...

    java面试问题个人总结

    - **面向对象的特征** - 封装:隐藏对象的内部状态和实现细节,仅暴露必要的接口供外部调用。 - 抽象:关注对象的共同属性和行为,忽略非本质的差异。 - 继承:允许创建新类时继承现有类的属性和方法,减少代码...

    Java基础教程.md.pdf

    - **面向对象**:Java是一种纯面向对象的语言,支持封装、继承和多态等特性。 - **安全性**:具有内存管理机制,减少了内存泄漏等问题。 - **高性能**:通过JIT编译器和GC垃圾回收机制提高了执行效率。 ##### 1.4 ...

    面向对象编程实验报告 (2).docx

    总结,本实验旨在巩固和提高学生在Java面向对象编程中的基础知识,通过具体实例培养他们的编程思维,为后续更复杂的程序设计打下坚实的基础。通过这样的训练,学生不仅能熟练掌握Java语法,还能理解并运用面向对象的...

    JAVA实习报告-4500字.doc

    实习总结部分,作者提到了JAVA语言的一些优势,如简单性、面向对象、多线程、分布性和安全性。JAVA语言的语法接近C/C++,但摒弃了复杂和难以理解的部分,如操作符重载和多继承。JAVA支持动态绑定,提供网络应用编程...

    服务端源码java-Java-MOBA-game-codes:MOBAgame多人对战,初步实现了服务端客户端,移动和攻击,有视频,源码和PP

    Java的面向对象特性有助于设计和实现这些逻辑。 4. **状态同步**:在多人游戏中,保持所有玩家看到的游戏状态一致至关重要。这可能通过状态机、时间戳或特定的同步协议(如Delta-compression)来实现。 5. **...

    JAVA入门电子书

    - 第3章和第4章可能涉及基本的JAVA语法和面向对象编程的初步概念。 - 第8章、第9章和第10章可能讨论更高级的主题,如异常处理、集合框架或多线程。 - 第11章和第12章可能涵盖了IO流和网络编程。 - 第13章的"实体Bean...

    Java程序设计研究与实践-理论和实践.pdf

    以下是根据给定文件内容,总结出的Java程序设计在理论和实践方面的知识点。 ### 理论讲授内容 #### 1. 理论内容的组织结构 - **概述**:对Java语言的基本概念和重要性进行介绍。 - **基础部分**:涵盖Java的基本...

Global site tag (gtag.js) - Google Analytics