面向过程(Procedure Oriented Programming):强调的是功能行为,以函数为最小单位,考虑怎么作java
面向对象(Object Oriented Programming):将功能封装进对象,强调具有了功能的对象,以类/对象为最小单位,考虑谁来作编程
类(Class)和对象(Object)是面向对象的核心概念设计模式
“万事万物皆对象”数组
常见的类的成员有:数据结构
属性:对应类中的成员变量
行为:对应类中的成员方法mvc
修饰符 class 类名 { 属性声明; 方法声明; } /*说明:修饰符public:类能够被任意访问 类的正文要用{ }括起来*/
Java自定义类:函数
建立对象语法: 类名 对象名 = new 类名();
oop
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)this
类的访问机制:设计
内存解析:
匿名对象
能够不定义对象的句柄,而直接调用这个对象的方法
new Person().shout();
语法格式: 修饰符 数据类型 属性名 = 初始化值 ;
属性的默认初始化
方法的声明格式:
修饰符 返回值类型 方法名(参数类型 形参1, 参数类型 形参2, ….){ 方法体程序代码 return 返回值; }
概念:在同一个类中,容许存在一个以上的同名方法,只要它们的参数个数或者参数类型不一样便可
特色:与返回值类型无关,只看参数列表,且参数列表必须不一样。(参数个数或参数类型)
声明格式:方法名(参数的类型名 ...参数名)
做用:建立对象;给对象进行初始化
它具备与类相同的名称
它不声明返回值类型。(与声明为void不一样)
不能被static、final、synchronized、abstract、native修饰,不能有 return语句返回值
语法格式:
修饰符 类名 (参数列表) { 初始化语句; }
父类的构造器不可被子类继承
一旦显式定义了构造器,则系统再也不提供默认构造器
package语句做为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)
格式为:
package 顶层包名.子包名 ;
包对应于文件系统的目录,package语句中,用 “.” 来指明包(目录)的层次
包一般用小写单词标识。一般使用所在公司域名的倒置
JDK中主要的包介绍
为使用定义在不一样包中的Java类,需用import语句来引入指定包层次下所须要的类 或所有类(.*);
语法格式:
import 包名. 类名;
import static组合的使用:调用指定类或接口下的静态的属性或方法
程序设计追求“高内聚,低耦合”
隐藏对象内部的复杂性,只对外公开简单的接口;通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想
Java中经过将数据声明为私有的(private),再提供公共的(public) 方法:getXxx()和setXxx()实现对该属性的操做,以实现下述目的:
Java权限修饰符public、protected、(缺省)、private置于类的成员定义前, 用来限定对象对该类成员的访问权限
对于class的权限修饰只能够用public和default(缺省)
public类能够在任意地方被访问
default类只能够被同一个包内部的类访问
MVC是经常使用的设计模式之一,将整个程序分为三个层次:视图模型层,控制器层,与数据模型层。这种将程序输入输出、数据处理,以及数据的展现分离开来的设计模式 使程序结构变的灵活并且清晰,同时也描述了程序各个对象间的通讯方式,下降了程序的耦合性