- 浏览: 1589841 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.面向对象的特征
匿名对象
实名对象的使用
匿名对象的使用
面向对象的第一大特征:封装 Encapsulation
修饰符 关键字的使用
构造函数 和 构造代码快
this 的用法
构造函数间的引用
封装 继承 多态 以后的开发,其实就是找对象使用,没有对象,没有对象就创建一个对象 找对象, 建立对象, 使用对象,维护对象的关系 类和对象的关系 类就是:现实生活中实物的描述 对象:就是这类事物,实实在在的个体 比如: 张三 李四 使用 java 类的描述 就是 属性 (成员变量): 姓名 年龄 性别 行为 (成员方法): 走路 学习 吃饭 睡觉 成员变量: 作用于 整个类中 存在于 堆内存中 局部变量: 在栈内存中 在描述下 Car 汽车总工程师 [图纸] 工人 汽车 汽车 汽车 可以看出 图纸中 规定了 汽车这一类个体 每个部件的参数 等信息 使用java来表示 class Car{ //图纸 // (成员)属性 String color="red"; //汽车有颜色, 工程师 规定这批次的 车的颜色默认为 红色 int num=4; // 工程师规定 这批次的 车 有4个轮子 //(成员)方法 void run(){ System.our.println(color+"色的"+num+"轮车在跑!"); } } //工人 专门根据 图纸 造对象 class CarDemo{ public static void mian(String [] args){ Car c2=new Car(); c.run(); // red色的4轮车在跑 Car c3=new Car(); cl.color="yellow"; //工程师打来电话说 这辆车 要改成 黄色 c1.run(); // yellow 色的4轮车在跑 //对象的引用 Car c=new Car(); c.num=5; Car c1=c; c1.color="black"; c.run(); // } }
匿名对象
匿名对象 new Car(); new Car().num=5; num Car().color="green"; //匿名对象使用方式一: 当对对象的方法 调用一次时,可以使用匿名对象来完成,这样写比较简化. //如果一个对象尽心多个成员调用,必须给这个对象起个名字. //匿名对象使用方式二: 可以将匿名对象作为实际参数进行传递. //需求 ,汽车修配厂,对汽车进行改装,将来的车改成黑色, 三个轮胎 . Car q=new Car(); update(q); public static void update(Car c){ c.color="black"; c.num=3; c.run(); }
实名对象的使用
匿名对象的使用
面向对象的第一大特征:封装 Encapsulation
//1.是指隐藏对象的属性和实现的细节,仅对外提供公共访问的方式 //函数是java中最小的封装体 好处: 将变化隔离 便于使用, 提高重用性 提高安全性 封装原则 将不需要对外提供的内部犯法隐藏起来 把属性都隐藏,提供公共方法对其访问.
修饰符 关键字的使用
/** private : 私有 ,修饰类中的成员变量 成员方法(函数) ,旨在本类中有效. 将 age 私有化后,类以外 即使建立了对象也不能直接访问. 但是 ren 应该有年龄,就需要在person类中提供对应访问age 的方式setAge() getAge() 注意: 私有仅仅是封装的一种表现形式. 之所以提供对外访问的方式,是因为我可以在这里方法里面进行一些 逻辑判断等语句控制. 这样提高程序的健壮性. */ class Person{ private int age; //加入了 私有 外部就不能范围 void speark(){ System.out.prinlnt("age="+age); } // 一个属性只有 两个 操作方法 .一个 取值 一个赋值. public void setAge(int a){ if(a>0 && a<130) age=a; else age=0; } public int getAge(){ return age; } } class PersonDemo{ public static void main(String[] args){ Person p=new Person(); //p.age=-20; //如果不私有 就会出现 安全问 出现了 -20的年龄 p.setAge(40); p.speak(); } }
构造函数 和 构造代码快
//特点 1.函数和类名相同 2.不用定义返回值类型 3.不可以用return语句 //作用 给对象进行初始化 //注意 1.默认构造函数的特点 2.多个构造函数都是已重载的形式存在的. 3.构造函数的小细节: 当一个类中没有定义构造函数时,系统会默认你给该类加入一个空参数的构造函数 (如果自己定义了,系统就不会添加这个函数) 4.构造函数 也是函数的一种 ,所以具备 函数重载的特点 5.构造函数 如果为private 类就不能被外边初始化 //和一般方法的区别 1.写法上不同 2.在运行上不同 构造函数在对象一建立就运行 一般方法,是 对象调用才运行,是给对象添加的具备的功能. 3.一个对象建立,构造方法只运行一次. 而一般方法.对象可以调用多次. //什么时候定义构造函数呢 当一个事物一存在就具备一些特性或者行为,就将这些内容定义在构造函数中. /** 构造函数: 对象一建立就会调用与之对应的构造函数. 构造函数的作用,可以用户给对象进行初始化 */ class person{ private String name; private int age; /**构造代码快 对象一建立就运行 ,优先于 构造函数执行. 和构造函数的区别 构造代码快是给所有兑现都统一初始化 构造函数是给对应的对象初始化 */ { System.out.println("Person code run"): cry(); //不同对象的共性初始化内容 就不用在不同的构造函数中调用了 } /* Person(){ System.out.println("A: name="+name+",age="+age); //cry(); }*/ Person(int a){ age=a; System.out.println("B: name="+name+",age="+age); //cry(); } Person(string n,int a){ name=n; age=a; System.out.println("C: name="+name+",age="+age); //cry(); } public void cry(){ System.out.println("孩子哭了!"); } } class PersonDemo{ public static void main(String [] args){ Person p=new Person(); //如果无参数的构造函数 被注释了, 就会报错找不到 初始化方法. Person p1=new Person(1); Person p2=new Person("alice",1); } }
this 的用法
/** this: 看上去,是用于区分局部变量和成员变量的同名情况 this: 就表示本类的对象.到底代表那一个呢? this: 代表所在函数所属对象的引用 简单说: 哪个对象在调用this所在的函数,this就代表哪个对象. */ class Person{ private String name; private int age; Person(int age){ this.age=age; } /* Person(String name){ name=name; } */ Person(String name){ this.name=name; } public void speak(){ System.out.println("name"+name+",age="+age); } /* 需求,给人定义一个用户比较年林是否相同的功能,也就是是否是同龄人 */ public boolean compare(Person p){ return this.age==p.age; //使用 this 表示谁调用这个方法就表示那个对象. this 的地址值指向 那个对象 . } } class PersonDemo{ public static void main(String[] args){ Person p=new Person("lisi"); p.speak(); // 如果没有使用this name=nulll,age=0; Person p1=new Person(21); Person p2=new Perseon(25); p1.compare(p2); } }
构造函数间的引用
/** this 语句 :用于 构造函数间的互相调用. this 只能放在 构造函数的第一行.应为初始化要先执行. */ class Person{ private String name; private int age; Person(){ // this("haha"); 不能出现 否则就死循环了 System.out.println("Person code run"): //3 } Person(String name){ this(); //2 this.name=name; } Person(String name,int age){ //this.name=name; this(name); //this 语句 1 this.age=age; } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 997public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2281经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5654package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 986import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1055/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1008//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1823更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1416import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 814import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2396import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 925// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1172import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 801import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1145import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3892import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 964/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1021import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1840Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1004/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2230package out; import ja ...
相关推荐
### Java面向对象基础知识点详解 #### 1. 打Jar包 在Java开发中,将多个`.class`文件以及相关的资源文件打包成一个单一的`.jar`文件是一种常见的做法,这样便于管理和部署。`.jar`文件实际上就是一种压缩格式,类似...
Java面向对象程序设计是计算机科学领域中一门重要的编程语言课程,尤其在软件开发中占据着核心地位。清华大学的耿祥义教授编写的教材是许多学习者深入理解Java面向对象编程的首选资料。这个压缩包中包含的就是这本...
在Java中,面向对象编程(Object-Oriented Programming, OOP)是其核心特性之一,使得开发者能够创建复杂、可维护且易于扩展的软件系统。下面,我们将深入探讨Java面向对象编程的关键概念。 1. 类(Class):类是...
在Java编程语言中,面向对象(Object-Oriented Programming,OOP)是一种核心特性,它允许我们通过模拟现实世界中的对象来设计和实现软件。在这个示例中,“简单的求下一天的程序”是为了演示如何利用面向对象的概念...
在“13-面向对象-第5天(面向对象其他知识点)-讲义共7页”中,我们可以期待学习到面向对象编程的一些高级和扩展概念,这些可能包括但不限于继承、多态、抽象类、接口、封装、构造函数以及设计模式等。 首先,继承...
在Java编程语言中,面向对象(Object-Oriented Programming,OOP)是一种核心特性,它在酒店管理系统的设计和实现中发挥着至关重要的作用。面向对象编程的理念是将现实世界中的实体抽象为类,然后通过实例化这些类来...
- **面向对象:**Java 是一种完全的面向对象编程语言,支持封装、继承和多态等面向对象的核心概念。 - **自动内存管理:**Java 提供了垃圾回收机制,自动管理内存,减轻了开发者在内存管理上的负担。 - **安全性:**...
Java面向对象编程是软件开发领域中的核心技术之一,尤其在企业级应用中占据着主导地位。第二版的"Z00297 Java面向对象编程"很可能包含了一系列深入讲解这一主题的教程或教材,旨在帮助学习者掌握Java语言的核心概念...
Java是一种广泛使用的面向对象的编程语言,其设计目标是提供高度的可移植性、灵活性和安全性。本讲义主要涵盖了Java中的几个核心概念,包括`static`、`final`、匿名对象、内部类、包、修饰符以及代码块。下面将逐一...
面向对象课程设计报告的核心是通过Java编程语言实现一个类似于Windows中的“画图”工具,旨在让学生深入理解和应用面向对象编程的基本概念和技巧。这个项目涵盖了以下几个关键知识点: 1. **面向对象编程基础**:...
在本资源中,你将通过"7天零基础搞定java开发"的学习教程,掌握Java编程的基础,并深入理解面向对象的设计思想。这个项目旨在让你在短时间内快速入门Java开发,并且通过实际编写游戏,体验到编程的乐趣和挑战。我们...
Java面向对象面试题 以下是对Java面向对象面试题的知识点总结: 1. super() 和 this() 的区别:super() 用于调用父类的构造方法,而 this() 用于调用同一个类的其他构造方法。 2. 作用域 public, protected, ...
### Java基础之笔记系列—Day06(面向对象) #### 关键知识点:二维数组 在本篇笔记中,我们深入探讨了Java中的二维数组。二维数组实际上是由多个一维数组构成的一个数组,常用于处理表格数据或矩阵运算等场景。 ##...
5. 面向对象编程: - 类和对象:类是对象的模板,而对象是类的实例。 - 构造方法:特殊的类方法,用于创建对象并初始化。 - 继承:允许一个类继承另一个类的特性,提高代码的复用性。 - 接口:接口是一种抽象的类型...
这份"Java培训讲义_5天"的资料,旨在为初学者提供一个全面且实用的学习路径,帮助他们快速掌握Java的基础知识。 在五天的培训中,通常会涵盖以下几个核心主题: 1. **Java语言基础**:第一天可能从Java的历史和...
Java是一种广泛使用的面向对象的编程语言,其面向对象特性使其非常适合构建复杂且可维护的软件系统。本讲义主要探讨了Java中的三个关键概念:构造方法、`this`关键字和`super`关键字,这些都是理解Java类和对象核心...
Java是一种广泛使用的面向对象的编程语言,其面向对象特性使得代码更加模块化,易于维护和扩展。本讲义主要探讨了两个重要的面向对象概念:继承和抽象类。 首先,我们来了解一下继承。在Java中,继承是面向对象设计...
这份“5天Java培训讲义”旨在为初学者提供全面的Java学习指导,涵盖了从基础到进阶的关键概念。 第一天的课程可能侧重于Java的基础知识。Java_1.ppt可能会包含以下内容: 1. **Java简介**:讲解Java的历史、特性...
1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、 JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了 Java 程序运 行时所需要的基本条件和许多 Java ...
本"Java培训讲义_5天"提供了一条快速学习和提升Java技能的路径,适合初学者和有一定基础的开发者。接下来,我们将深入探讨这五天培训中的关键知识点。 **第一天:Java基础知识** 在第一天的学习中,我们通常会从...