我的Java学习笔记-Java面向对象】的更多相关文章

一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数的所属对象的引用.         简单说,哪个对象调用了this关键字所在的函数,this就代表哪个对象. 1.区别局部变量和成员变量 内存图解: 说明: 程序执行到main函数时,main函数进入栈内存中的方法区,执行到Person p = new Person("旺财");时,在ma…
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1.  修改属性的可见性来限制对属性的访问(一般限制为private) private String sex; 2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问 public void setSex(String s){ this.sex=s; } public…
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数的构造函数 如果在类中定义了构造函数,那么类中的默认构造函数就没有了 构造函数在创建对象时调用 构造函数也有默认的return语句(省略不写) 函数执行到return语句后,栈中该函数的方法区就会出栈 如: class Person{ private…
今天来学习Java的面向对象特性,由于与C#的面向对象类似,不需详细学习 一.Java继承 继承可以使用 extends 和 implements 这两个关键字来实现继承. extends:类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类. public class Animal { private String name; private int id; public Animal(String myName, String myid) { //初始…
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的.我现在不看书,光靠回忆去想这个特性的解释性语言,只能想到看书时很深刻的一句话,面向对象就是一个更加具体描述一个事件的一种设计方法,就像在公司里面吃饭,面向对象的话就是一个总负责人即类似大厨准备好菜谱什么的,分工下去给下属,每个人负责一个菜,每个人按照自己的秘方去完成,最后总的做出来形成一桌满汉全席…
现在一般的语言都支持面向对象,而java更是将其做到很过分的地步,java是强制使用面向对象的写法,简单的写一个Hello Word都必须使用面向对象,这也是当初我很反感它的一点,当然现在也是很不喜欢它这一点.但是不得不说它设计的很优秀也很流行. 面向对象 面向对象一般是将一些独立有相似功能的模块封装起来组成一个类,然后调用者不必关注实现细节而只需要关注调用某个类方法即可.面向对象简化了程序设计.与之相对应的是面向过程,而C就是典型的面向过程的程序设计语言. 面向对象一般有3种特性:封装.继承.…
1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Java中的定时调度工具 Timer Quartz 两者主要区别 出身上,Timer是Java提供的原生Scheduler(任务调度)工具类,不需要导入其他jar包:而Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现. 功能上,如需要实现在某个具体时间执行…
Java 异常机制(也许是全网最独特视角) 一.Java中的"异常"指什么 什么是异常 一句话简单理解:异常是程序运行中的一些异常或者错误. (纯字面意思) Error类 和 Exception类 Java中"万物皆对象",异常也不例外, Java把异常当做对象来处理,并将异常分为两大类--Error(错误)和Exception(异常),它们都是Throwable类的子类. 这里看起来可能有点奇怪,什么叫"把异常分为错误和异常两类"??可以这样粗…
基础常识 软件:一系列按照特定顺序组织的计算机数据 和指令的集合 常见的软件: 系统软件:如:DOS,windows,Linux等 应用软件:如:扫雷,迅雷,QQ等 软件的出现实现了人与计算机之间的更好的交互 交互方式: 图形化界面:这种方式简单直观,使用者易于 接受,容易上手操作 命令行方式:需要有一个控制台,输入特定的 指令,让计算机完成一些操作.较为麻烦,需 要记录住一些命令 dos命令行常见的命令 dir: 列出当前目录下的文件以及文件夹 md: 创建目录 rd: 删除目录 cd: 进入…
java基础 一.java语言跨平台原理 1.什么是跨平台? 跨平台就是一个软件可以在不同的操作系统中运行,但是不需要对其修改.换句话说,java语言编写的软件在不做修改的情况下就能在不同的系统平台上运行 2.跨平台的原理 java程序依靠JVM运行,与操作系统无关,因此,我们只需在任意操作系统中安装一个JVM,由JVM来负责java程序的运行 3.跨平台图解 注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行. 而Java虚拟机JVM是不跨平台的,不同的操作系…
Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintStream err "标准"错误输出流 static InputStream in "标准"输入流 static PrintStream out "标准"输出流 获取系统属性信息:Properties getProperties(); import j…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 仔细想一想,Animal应该是一个抽象的概念,相对于Animal来说,狗才是具体的概念 // Animal的行为也应该算是一个抽象的行为 // Java中对于这些抽象的概念或是抽象的行为,提供了一个关键字 abstract 来进行修饰 // 关键字 abstract用在类上,类称为抽象类:abstract class…
1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创建对象,还有就是通过Java API 来使用类. 1.不可变的类和对象 正常来说,我们使用类的时候都是为了生成一个对象,允许在以后更改对象的内容,但是有时候会要求不能改变他的内容.比如我们记录学生档案的时候,又或者是个人简历的时候,有些档案比如出生日期,一旦是确定的不会去更改,但是学历,工作经验会随…
Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. java程序中,类是最小的程序单位 - 所有的java程序都必须从定义类开始 定义类的语法格式: [修饰符]  class  类名{ //0 ~ N 个 Field 定义 //0 ~ N 个 方法定义 //0 ~ N个 构造器定义 } 一个类中最多只能出现五种成分:Field.方法.构造器 一个类最常见…
1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: 打开冰箱 把大象装进去 关上冰箱 我们把上面的问题,用面对对象的思想来考虑. 我们把冰箱作为一个对象,它具备打开,存储,关闭的功能.这个时候,我们就只需要冰箱这个对象就可以完成把大象装进冰箱中.即,冰箱打开,存储,冰箱关闭. 面向对象的特点: 面向对象是一种常见的思想,符合人们的思考习惯. 面向对…
类和对象 类是某一批对象的抽象,可以把类理解成某种概念.对象是一个具体存在的实体.类和对象是面向对象的核心. 类定义的是多个实例的特征,类不是具体存在,实例才是具体存在. 定义类(class)的语法: [修饰符] class 类名 { 零个到多个构造器定义.... 零个到多个成员变量.... 零个到多个方法....} 要点:1.三种常见的成员:构造器(new关键字调用) 成员变量 方法 2.类名由一个或多个有意义的词连接而成,每个单词首字母大写,其余小写. 3.修饰符可以是public fina…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // this 关键字 的使用 Student student = new Student(); student.setName("张三"); System.out.println(student.getName()); } } // 学生类 class Student { // 成员变量 private Str…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 面向对象思想 // 回顾编程语言思想进化之路:从面向过程到面向对象 // 面向过程 // 举例: // 1.冰箱门打开 // 2.大象放进去 // 3.冰箱门关上 // [面向过程的思路的着眼点在于动作的功能,思考打开.放入.关闭均为动作] // 面向对象:随着软件工程的成熟,人们根据自然的.正常的思考逻辑,从概念模…
面向对象概念 面向对象编程 &面向过程编程 面向对象:关心是谁来做 面向过程:关心的是怎么做 面向对象总结成一句话:就是分工与协作,干活的是对象 生活中: 对象 -----抽象-------->类 Java:    类 --------孵化------->对象 类中有属性:1,属性为静态特征 2,属性有访问修饰符 ,临时变量不能有访问修饰符. 3,属性写在类中,不能写在方法中. 4,变量必须要初始化才能使用,那么属性不赋值会有默认值:  整数    小数0.0     char:空字符…
面向对象(上) 面向对象的特点:封装性(是面向对象的核心思想,将对象的属性和行为封装起来).继承性(主要描述类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展)和多态性(指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,使得同一个属性和方法在不同的类中具有不同的语义.例如听到cut时,理发师的行为是剪发,演员的行为是停止表演). 一个类包含多个对象,比如动物类,包含对象有狗.狼.猫等等.…
面向对象(下) 类的继承 类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类,子类会自动拥有父类所有可继承的属性和方法.(用extends关键字)   //定义Animal类 class Animal{     String name;    //定义name属性     //定义动物叫的方法     void shout(){         System.out.println("动物发出叫声.");     } } //定义Dog类继承Ani…
面向对象---封装 封装是面向对象思想的三大特征之一. 理解: 隐藏对象的属性和实现细节,仅对外提供公共访问方式. 优点: 将变化隔离 便于使用 提升代码复用性 提高安全性 封装原则: 将不需要对外提供的内容都隐藏(通过修饰符private隐藏)起来 把属性都隐藏,提供公共方法对其访问 权限修饰符: 意义:在Java中可以使用访问控制符来保护对类.变量.方法和构造方法的访问. 可以通过下表来说明访问权限: 修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包 public Y Y…
04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 _2.通过对象调用成员变量 3.如果一个类的成员变量static修饰,那么想访问这个成员 直接通过类名.成员变量名 什么时候的成员变量需要static修饰? _如果这个成员不属于某一个对象,而是属于所有对象共有的,那么需要加上static修饰 static修饰的成员变量/成员方法的使用 1.建议直接…
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 接口是比抽象类还抽象的一种类型 接口不能创建对象 通常叫"父接口" 3.接口的定义 定义类用关键字:class 定义抽象类用关键字:abstract class 定义接口关键字:interface 定义枚举用关键字:enum 格式: public interface 接口名字{ /成员变…
01面向对象-继承 一.java中的数据类型 1.基本数据类型:四类 八种 byte(1) boolean(1) short(2) char(2) int(4) float(4) long(8) double(8) 2.引用数据类型 String , 数组,集合ArrayList,Scanner,Random,自定义类型 二.引用数据类型String中的方法(4532) 第一组:判断方法 boolean equals(String str);//比较两个字符串的内容是否相等 boolean eq…
一.static: 1.static是一个标识符: - 有static修饰的成员表明该成员是属于类的; - 没有static修饰的成员表明该成员是属于实例/对象的. 2.static修饰的成员(Field.方法.初始化块),与类共存亡:static修饰的成员建议总是通过类名来访问,虽然它也可以通过实例来访问(实质也是通过类来访问的),所以平时若在其他程序中见到通过实例/对象来访问static成员时,可以直接将实例/对象 替换成类名: 3.程序都是先有类再有对象的,有可能出现有类但没有实例/对象的…
一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同时这这里我们需要注意以下两点:  A.方法重载与返回值类型没有任何关系;  B.方法重载与是否有static修饰没有任何关系. 那我们如何才能确定到底调用的哪个方法呢?  A.主调者:明确是谁在调用这个方法,是类还是对象  B.方法名和形参:确定调用哪个方法(由方法名和形参共同决定) 例1: pub…
一.封装: 封装的概念: - 合理的隐藏:隐藏不想被外界操作的Field.方法.构造器 - 合理的暴露:一般就是希望给别人调用的方法 e.g:显示器(按键暴露出来操作,但实际的东西/细节方法被隐藏起来) 封装的目的: - 简化编程(不去去找显示器的内部调,直接按键调整即可) - 更好的保证对象的完整性 为了实现隐藏,我们有4个修饰符: private - 仅限当前类访问权限 无修饰符/默认  - 包访问权限(同一个包内) protected   - 子类访问权限(本类能访问.同一个包也能访问)…
Java中this关键字主要有以下两个方法: 1.this引用 - 可用于任何非static修饰的方法和构造器中,当this用于方法中时,它代表调用该方法的实例/对象;当this用于构造器中时,它代表构造器正在初始化的实例/对象 2.this调用 - 只能在构造器的第一行出现. 如何区分this引用与this调用呢? this引用写法为:this.  ;  而this调用写法为:this(); 例1: class TestThis{ private double weight; private…
方法的所属性: 从语法的角度来看:方法必须定义在类中 方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰 调用方法时:必须有主调对象(主语,调用者) public class MathTest{ public static void main(String[] args){ System.out.println(Math.sin(1.57)); System.out.println(Math.sin(Math.PI/2)); } } pu…