Java面向对象的三个特征与含义】的更多相关文章

封装 1.英文为 encapsulation,实现信息隐藏: 2.把同一类事物的特性归纳到一个类中(属性和行为),隐藏对象的内部实现: 继承 1.英文为 inheritance: 2.继承的过程,是从一般到特殊的过程,可以通过继承和组合实现,可以用抽象类和接口: 多态 1.英文为 polymorphism,表现为多种形态: 2.由方法重载实现静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态): 3.编译时多态:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态 确定…
首先,Java面向对象的三大特征: 三大特征: ▪ 封装 ▪ 继承 ▪ 多态 首先面向对象的第一个特性 封装 : 封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体.在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问.通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分. 我们提到封装就必须提到几个修饰符的作…
java面向对象(三) 1.四种权限修饰符 public > protected > (default) > private 注意:(default)并不是关键字default,而是根本不写 代码示例 package day06; import day06.sub.MyClass; public class DemoMain { public static void main(String[] args) { //同一个包中私有类的私有变量不能被访问 System.out.println…
一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界中具有某一特征的一类事物,封装了这类事物所具有的属性和行为. 所以,类定义=成员变量(属性)+方法(行为). 面向对象程序设计与人类的思维习惯一致,比如希望完成“兔子吃草"这件事: 在面向过程的程序设计里,一切以函数为中心,则会用如下语句来表达: 吃(兔子,草): 而在面向对象程序设计里,一切以对象…
java类 java类分为普通类和抽象类,接口,上一节我大概讲了java类的一般格式,今天将抽象类和接口.同时讲一下它们是怎样存储的. 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能更好的去使用,所以多看看我写的关于抽象类和接口的目的. 抽象类 目的 为了对代码更好的维护和重用. 解析: 抽象类往往用来表征对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象. 1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用.这样就可…
对象的三个特征: 对象的行为: 对象有哪些行为和方法 同一个类的实例,由于支持相同的行为具有家族式的特征,对象的行为是由方法定义的. 对象的状态: 施加方法时.对象的响应 每个对象都保存着描述当前特征的信息.对象的状态改变必须通过方法实现,否则就是破坏了封装性. 对象的标识: 如何区别具有相同的方法和状态的不同对象 对象的状态不能够完全描述一个对象,每一个对象都由一个唯一的标识.例如在订单系统中,货物相同的两个订单对象也是不同的. 欢迎入群: 公众号IT面试题汇总讨论群 如果扫描不进去,加我微信…
封装 什么是封装 面向对象三大特征之一 1. 把对象的状态和行为看成一个统一的整体,将字段和方法放到一个类中. 2. 信息隐藏:把不需要让外界知道的信息隐藏起来.尽可能隐藏对象功能实现细节,向外界暴露方法,保证外界安全访问功能. 封装的好处 1. 保证数据的安全 2. 提高组件的复用性 现假设 提交表单提交,表单内容: 姓名.账号.邮箱.密码.验证码.是否同意协议. 没有用封装: 参数列表各个参数都要写,会很多: 调用时,不确定的参数,要给初始值. public class Register {…
1.Class类的理解 1.类的加载过程:程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾).接着我们使用java.exe命令对某个字节码文件进行解释运行.相当于将某个字节码文件加载到内存中.此过程就称为类的加载.加载到内存中的类,我们就称为运行时类,此运行时类,就作为Class的一个实例.2.换句话说,Class的实例就对应着一个运行时类.3.加载到内存中的运行时类,会缓存一定的时间.在此时间之内,我们可以通过不同的方式来获取此运行时类. 2.获取Class实例…
看一段代码:(Demo112.java),先了解为什么要使用this. /* this的必要性 */ public class Demo112{ public static void main(String []args){ Dog dog1=new Dog(2,"大黄"); Person p1=new Person(dog1,23,"刚子"); Person p2=new Person(dog1,24,"小龙"); p1.showInfo();…
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h…
一.static 1.概述 static 的意思的静态的,也是一种修饰符. 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象的. 用 static 关键字修饰的,属于类,就可以不依靠创建对象来调用了. 2.可以修饰什么 (1)方法 (2)成员变量 (3)代码块 (4)内部类 二.修饰变量与方法 1.类变量(静态变量) ① 当 static 修饰成员变量时,该变量称为 类变量.该类的每个对象都共享同一个类变量的值. ② 用 sta…
1.类的加载过程----了解 2.类的加载器的作用 3.类的加载器的分类 4.Java类编译.运行的执行的流程 5.使用Classloader加载src目录下的配置文件 @Test public void test2() throws Exception { Properties pros = new Properties(); //此时的文件默认在当前的module下. //读取配置文件的方式一: // FileInputStream fis = new FileInputStream("jd…
1.本章的主要内容 2.关于反射的理解 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法. 框架 = 反射 + 注解 + 设计模式. 3.体会反射机制的“动态性” //体会反射的动态性 @Test public void test2(){ for(int i = 0;i < 100;i++){ int num = new Random().nextInt(3);//0,1,2…
1.举例: [Order.java] public class Order<T> { String orderName; int orderId; //类的内部结构就可以使用类的泛型 T orderT; public Order(){ //编译不通过 // T[] arr = new T[10]; //编译通过 T[] arr = (T[]) new Object[10]; } public Order(String orderName,int orderId,T orderT){ this.…
1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add(78); list.add(76); list.add(89); list.add(88); //问题一:类型不安全 // list.add("Tom"); for(Object score : list){ //问题二:强转时,可能出现ClassCastException int stu…
标签: java 继承 抽象类 this super abstract 概述 多个类中存在相同的属性和行为的时候,将这些内容抽取到单独一个类中,那么多个类无需在定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类或者超类. 子类可以直接访问父类中的菲斯有的属性和行为. 通过 extends 关键字让类与类之间产生继承关系. class SubDemo extends Demo{} 继承的出现提高了代码的复用性 集成的出现让类与类之间产生了关系,提供了多态的前提. 继承…
1.函数的重载 2.构造函数的作用 (构造函数能够重载) 1.函数名必须和类名同样 2.没有返回值 3.使用 New 来调用构造函数 4.假设类中没有构造函数,编译器会自己主动帮忙载入一个參数为空.方法体为空的构造函数 5.假设类中已经存在构造函数,编译器就不会帮忙生成构造函数了.…
1.通配符的使用 /* 通配符的使用 通配符:? 类A是类B的父类,G<A>和G<B>是没关系的,二者共同的父类是:G<?> */ @Test public void test3(){ List<Object> list1 = null; List<String> list2 = null; List<?> list = null; list = list1; list = list2; //编译通过 // print(list1);…
泛型在继承上的体现: /* 1. 泛型在继承方面的体现 虽然类A是类B的父类,但是G<A> 和G<B>二者不具备子父类关系,二者是并列关系. 补充:类A是类B的父类,A<G> 是 B<G> 的父类 */ @Test public void test1(){ Object obj = null; String str = null; obj = str; Object[] arr1 = null; String[] arr2 = null; arr1 = ar…
1.泛型的概念所谓泛型,就是允许在定义类.接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型.这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量.创建对象时确定(即传入实际的类型参数,也称为类型实参). 2.泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决.因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何…
如何自定义一个异常类?/* * 如何自定义异常类? * 1. 继承于现的异常结构:RuntimeException .Exception * 2. 提供全局常量:serialVersionUID * 3. 提供重载的构造器 * */ public class MyException extends Exception{ static final long serialVersionUID = -7034897193246939L; public MyException(){ } public M…
1.使用说明在程序执行中,除了自动抛出异常对象的情况之外,我们还可以手动的throw一个异常类的对象. 2.[面试题] throw 和 throws区别:throw 表示抛出一个异常类的对象,生成异常对象的过程.声明在方法体内.throws 属于异常处理的一种方式,声明在方法的声明处. 3.典型例题 class Student{ private int id; public void regist(int id) throws Exception { if(id > 0){ this.id =…
类的设计中,两个重要结构之一:属性 对比:属性 vs 局部变量 1.相同点: * 1.1 定义变量的格式:数据类型 变量名 = 变量值 * 1.2 先声明,后使用 * 1.3 变量都其对应的作用域 2.不同点: 2.1 在类中声明的位置的不同 * 属性:直接定义在类的一对{}内 * 局部变量:声明在方法内.方法形参.代码块内.构造器形参.构造器内部的变量 * * 2.2 关于权限修饰符的不同 * 属性:可以在声明属性时,指明其权限,使用权限修饰符. * 常用的权限修饰符:private.publ…
面向对象: 概念: 面向对象是一种程序设计思想,计算机程序的设计实质上就是将现实中的一些事物的特征抽离出来描述成一些计算机事件的过程,这种抽象的过程中,我们把具体的事物封装成一个一个的整体进行描述,使被描述的对象具备一些系统性.整体性的的行为和特征,我们把这种设计思想称为面向对象.从现实世界中客观存在的事物出发, 来构造软件系统, 并在系统的构造中尽可能的运用人类的自然思维方式, 面向对象是目前人与计算机沟通最简单的语言思想. 面向对象的三种特征: 封装:1.隐藏对象的属性和实现细节,仅对外提供…
 面向对象的三个特征:封装.继承和多态. Java开发的过程就是找合适的库对象使用,没有对象创建新对象.找对象,建立对象,使用对象并维护对象之间的关系. 类就是对现实生活中事物的描述,而对象就是这类事物实实在在的个体.对应到Java编程中,描述就是class定义的类结构, 对象就是通过new申请堆内存建立的实体.定义类,就是在描述事物,就是在定义属性和行为.属性和行为共同成为类中的成员 (成员变量和成员方法). 成员变量和局部变量的区别: 1.作用范围:成员变量作用于整个类中,局部变量作用于函数…
 Java面向对象(封装性概论) 知识概要:                   (1)面向对象概念 (2)类与对象的关系 (3)封装 (4)构造函数 (5)this关键字 (6)static关键字 (7)单例设计模式                     1.面向对象的概念: 特点:              1:将复杂的事情简单化.              2:面向对象将以前的过程中的执行者,变成了指挥者.              3:面向对象这种思想是符合现在人们思考习惯的一种思…
面向对象 什么是面向过程.面向对象? 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了. 面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了.例如,公司打…
面向对象的概念 类与对象的关系 封装 面向对象 面向过程: 强调的是过程(动作) 面向对象: 强调的是对象(实体) 面向对象的特点 面向对象就是一种常见的思想,符合人们的思考习惯; 面向对象的出现,将复杂的问题简单化; 面向对象的出现,让曾经在问题中的执行者,变成了对象中的指挥者. 面向对象的三个特征: 封装 继承 多态 类与对象的关系 类: 对事物的描述 对象: 该类事物的实例, 在 java 中通过 new 创建. 实际上, 对象的出现是为了封装一个事物所具备的数据. 怎么描述事物呢? 对于…
面向对象 今日内容介绍 u 面向对象 u 封装 第1章 面向对象 1.1 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. 例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了. l 面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要…
经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承.封装.多态的实现.以及类.对象.接口等重要概念. 目前是刚开始,只是对基础了解....... 关键字, 标识符: 标识符不能是关键字或true,flse,null. 标识符可以包含字母.数字(0—9),下划线(_)或美元符号($). 标识符第一个字符必须是一个字母,下划线(_), 区分大小写的,并…