面向过程(Procedure Oriented Programming):强调的是功能行为,以函数为最小单位,考虑怎么做
面向对象(Object Oriented Programming):将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做
类(Class)和对象(Object)是面向对象的核心概念
“万事万物皆对象”
常见的类的成员有:
? 属性:对应类中的成员变量
? 行为:对应类中的成员方法
修饰符 class 类名 {
属性声明;
方法声明;
}
/*说明:修饰符public:类可以被任意访问
类的正文要用{ }括起来*/
Java自定义类:
创建对象语法: 类名 对象名 = new 类名();
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)
类的访问机制:
内存解析:
匿名对象
可以不定义对象的句柄,而直接调用这个对象的方法
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是常用的设计模式之一,将整个程序分为三个层次:视图模型层,控制器层,与数据模型层。这种将程序输入输出、数据处理,以及数据的展示分离开来的设计模式 使程序结构变的灵活而且清晰,同时也描述了程序各个对象间的通信方式,降低了程序的耦合性
原文:https://www.cnblogs.com/javaluren/p/14304967.html