面向对象解释,命名习惯,方法调用丶覆盖

面向对象:
面向过程:

程序设计,软件开发解决的本质问题?就是抽象。
 抽象需要抽象什么? (数据,业务逻辑)
 以什么抽象作为导向(面向)?
  面向对象:以数据抽象为导向
  面向过程:以业务逻辑抽象为导向

类: 1,静态属性 --属性
 2,动态行为 --方法  属性,方法 统称为类的成员
 
 --方法 
 1,修饰符 返回值类型 方法名 (形参表){
 
   方法体
 }

public void move(){
  System.out.println(name +"Moving");
 }
 
 public访问权限修饰符(公开的)
 private(私有)
 void返回值类型(空类型)
 int,double,String。。。
 move方法名
 
 命名习惯: 
  1,类名 每个单词首字母大写,其他字母小写
  2,属性.方法名 第一个单词全小写,以后每个单词首字母大写,其他字母小写。例:setName()
  3,包名 全小写
  4,常量 所有字母大写 例:final int MAX_SIZE;  final常量修饰符

方法调用匹配:
  1,实参类型和形参类型要匹配
  2,方法中return的值和返回值类型要匹配
 
 方法调用的步骤:
  1,为被调用方法分配临时空间
  2,将实参传给形参
  3,流程跳到被调用方法中执行
  4,执行完或者遇到return,流程返回主调方法,同时被调方法临时空间释放。

注:一个java文件可以定义多个类,但只能有一个pubilc声明的类,并且这个用public声明的类,类名必须跟文件名一致

按值传递(适合所有基本数据类型)
 
 按引用来传递(对象)

构造方法:
 1,构造方法必须跟类名同名
 2,构造方法没有返回值,也不用声明void

面向对象的三大特征:封装,继承,多态

继承:
 抽象父子类关系遵循原则:任何父类适用的地方子类一定适用。
 
 注:继承不是最好的代码复用的方法。
 
 关键字extends(扩展)
 例:public class Bird extends Animal{}
 
生成对象的过程:
 1,分配对象空间
 2,给属性赋初值
 3,调用构造方法

定理:
 1,任何主类对象构造方法都会去调用父类的构造方法
 2,任何类都有构造方法,如果程序员自己不定义,则系统会加上一个默认的构造方法,如果定义了系统就不会加。
 3,任何子类的构造方法第一行一定是super(...);或者this(...),如果程序员不这样写,则系统会默认的加上super(...);
 
 this(...);调用本类的其他构造方法,他只能出现在构造方法的第一行。
 super(...);调用父类的构造方法,该语句只能出现在构造方法的第一行。
 super();调用父类中无参的构造方法。
 
 子类中调用父类中的同名方法用super.xxx
 this.xxx 调用本类中同名的成员变量

方法覆盖:
 1,放生在父子类之间;
 2,同名,同参,同返回值;
 3,子类方法的访问权限不能比父类方法的更封闭;
 4,子类方法抛出异常的类型不能比父类方法更宽泛

时间: 2024-10-13 09:51:21

面向对象解释,命名习惯,方法调用丶覆盖的相关文章

WEB标准一:标准定义、好处、名词解释、常用术语、命名习惯

1. WEB标准是什么? “WEB标准”是一系列标准的总称.一般的误区经常把WEB标准说成DIV+CSS.准确的说法应该是:采用W3C推荐的WEB标准中的XHTML1.1结合CSS2.0 样式表制作页面的方法.DIV 应该指的是XHTML标签,而CSS 指的是样式表. 2. 采用WEB标准开发的好处 2.1 节约运营成本   2.2 用户友好性 2.3 内容跨平台的可用性 2.4 加快页面解析速度 2.5 更良好的用户体验 3. 名词解释 1. 横切 页面中950px宽并且对高度没有限制的容器称

关于JVM中方法调用的相关指令,以及解析(Resolution)和分派(Dispatch)的解释——重载的实现原理与重写的实现原理

JVM中相关方法的调用的指令 invokestatic 调用静态方法. invokespecial 用于调用构造器方法<init>.私有方法.父类方法. invokevirtual 用于调用类的所有虚方法. invokeinterface 用于调用接口方法. 解析(resolution)与分派(dispatch) 解析 解析调用一定是个静态的过程,在编译期间就完全确定,在类装载的解析阶段就会把涉及的符号引用全部转变 为可确定的直接引用,不会延迟到运行期再去完成. 下面我们看一段代码: /**

转载:RMI 远程方法调用

Java 分布式处理技术 1.1 RMI 的基本概念 1.1.1 什么是RMI RMI(Remote Method Invocation) 远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样. 1.1.2 RMI 的用途 1. 分布式体系结构 我们为什么要使用分布式计算呢? ?         当我们想与多个用户或客户机共享一个中央资源(如一个数据

JVM理论:(三/4)方法调用

本文主要总结虚拟机调用方法的过程是怎样的,JAVA虚拟机里面提供了5条方法调用的字节码指令.分别如下: invokestatic:调用静态方法 invokespecial:调用实例构造器<init>方法.私有方法和父类方法. invokevirtual:调用所有的虚方法. invokeinterface:调用接口方法,会在运行时期再确定一个实现此接口的对象. invokedynamic:现在运行时期动态解析出调用点限定符所引用的方法,然后再执行该方法,在此之前的4条指令,分派逻辑都是固化在虚拟

Java学习笔记之RMI远程方法调用

RMI 应用通常有两个分开的程序组成,一个服务端程序和一个客户端程序.一个典型的服务端程序创建一些远程对象,使得对这些远程对象的引用可以被访问,等待客户端调用这些远程对象提供的方法.一个典型的客户端程序获取远程引用,指向一个或者多个服务端上的远程对象,然后调用这些远程对象所提供的方法.通常我们称这为分布式对象应用程序. 3.1 RMI的工作方式 分布式对象应用程序需要做的事情: l 查找(定位)远程对象. 应用程序可以使用各种不同的机制取得远程对象的引用.比如应用程序可以通过 RMI 提供的简单

2015/9/21 Python基础(17):绑定和方法调用

绑定和方法调用现在我们需要再次阐述Python中绑定(binding)的概念,它主要与方法调用相关联.方法是类内部定义的函数,这意味着方法是类属性而不是实例属性.其次,方法只有在其所属的类拥有实例时,才能被调用.当存在一个实例时,方法才被认为是绑定到那个实例了,没有实例时,方法就是未绑定的.任何一个方法定义中都有一个参数是变量self.它表示调用此方法的实例对象. 核心笔记:self变量用于在类实例方法中引用方法所绑定的实例.方法的实例在任何方法调用中总是作为第一参数传递的,self代表方法的实

用CIL写程序:从“call vs callvirt”看方法调用

前文回顾:<用CIL写程序系列> 前言: 最近的时间都奉献给了加班,距离上一篇文章也有半个多月了.不过在上一篇文章<用CIL写程序:定义一个叫“慕容小匹夫”的类>中,匹夫和各位看官一起用CIL语言定义了一个类,并且在实例化之后给各位拜了大年.但是那篇文章中,匹夫还是留下了一个小坑,那就是关于调用方法时,CIL究竟应该使用call呢还是应该使用callvirt呢?看上去是一个很肤浅的问题,哪个能让程序跑起来哪个就是好的嘛.不是有一句话:白猫黑猫,抓到耗子就是好猫嘛.不过其实这并不是一

多态方法调用的解析和分派

方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程.在程序运行时,进行方法调用是最普遍.最频繁的操作,Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址(相当于之前说的直接引用).这个特性给Java带来了更强大的动态扩展能力,但也使得Java方法调用过程变得相对复杂起来,需要在类加载期间,甚至到运行期间才能确定目标方法

为什么JAVA中的属性不能覆盖而方法却可以覆盖

以前还真就没有想过这个问题,今天上课的时候 徐老师提出了这么一个问题,在java中是属性重要?还是方法重要? 徐老师形象的讲了这么一个比喻来解释了java中属性与方法的地位 李嘉诚很有钱, 李嘉诚如果在程序中 他的资产的数目就可以被认为是他的一个属性. 李嘉诚还有一个儿子,他的儿子也有资产 但他的资产是他自己的,银行也不可能 同意李嘉诚儿子的资产就因为是他的儿子就把李嘉诚的资产覆盖掉.... 所以说JAVA中最重要的是属性~~~ 一个程序最重要的是数据...这个我非常认同,因为软件无非就是信息的