一、封装
1、类:可以帮助用户完成自动定义多个变量
定义类:class 类名{ 所含变量定义 }
2、使用类实例化对象
•在定义了类之后只是定义了数据类型,要想使用类,必须用该类型定义相应的“变量”。
•一般情况下,由类定义“变量”不叫“定义变量”,而叫“实例化对象”。
•通过类实例化对象的最简单的语法:
类名 对象名=new 类名()
3、类成员
(1)成员变量
成员变量是指类的一些属性定义,标志类的静态特征,它的基本格式如下:
•访问修饰符 修饰符 类型 属性名称=初始值;
访问修饰符:可以使用四种不同的访问修饰符中的一种,包括public(公共的)、protected(受保护的),无修饰符和 private(私有的)。public 访问修饰符表示属性可以从任何其它代码调用。private 表示属性只可以由该类中的其它方法来调用。protected 将在以后的课程中讨论。
•修饰符:是对属性特性的描述,例如后面会学习到的:static、final 等等。
•类型:属性的数据类型,可以是任意的类型。
•属性名称:任何合法标识符
•初始值:赋值给属性的初始值。如果不设置,那么会自动进行初始化,基本类型使用缺省值,对象类型自动初始化为 null。
成员变量有时候也被称为属性、实例变量、域,它们经常被互换使用。
(2)成员方法
成员方法就是对象所具有的动态功能。Java 类中方法的声明采用以下格式:
•访问修饰符 修饰符 返回值类型 方法名称 (参数列表) throws 异常列表 {方法体} 访问修饰符 : 可以使用四种不同的访问修饰符中的一种,包括public、 protected、无修饰符和 private。public 访问修饰符表示方法可以从任何其它代码调用。private表示方法只可以由该类中的其它方法来调用。protected 将在以后的课程中讨论。
•修饰符:是对方法特性的描述,例如后面会学习到的:static、final、abstract、synchronized 等等。
•返回值类型:表示方法返回值的类型。如果方法不返回任何值,它必须声明为 void(空)。Java 技术对返回值是很严格的,例如,如果声明某方法返回一个int值,那么方法必须从所有可能的返回路径中返回一个int值(只能在等待返回该 int 值的上下文中被调用。)
•方法名称:可以是任何合法标识符,并带有用已经使用的名称为基础的某些限制条件。
•参数列表:允许将参数值传递到方法中。列举的元素由逗号分开,而每一个元素包含一个类型和一个标识符。在下面的方法中只有一个形式参数,用 int 类型和标识符 days 来声明:
public void test(int days){}
•throws 异常列表:子句导致一个运行时错误(异常)被报告到调用的方法中,以便以合适的方式处理它。异常在后面的课程中介绍。
•花括号内是方法体,即方法的具体语句序列。
•setter和getter setter和getter方法就是设置值与获取值的意思:当我们在一个类中声明私有变量时(即private·修饰的变量),我们就可以通过setter方法为对应的私有属性进行设置值,通过getter获取对应属性的值。这是常用的用法。
•方法重载 方法重载也成为多态。多态是面向对象编程的特征之一。多态,通俗来讲就是一个东西在不同情况下呈现不同形态。 重载规则: •方法名必须一致 •参数列表必须不一致(参数类型、参数个数、参数排列顺序) •方法的返回类型可以相同也可以不同 •只是返回类型不同不是方法重载
(3)构造方法
构造函数原则: •函数名称与类的名称相同 •不含返回值 定义了构造函数之后,在实例化对象时,必须传入相应的参数列表,否则会报错。 其使用方法如下: 类名 对象名=new 类名(传给构造函数的参数列表)
4、this关键字 •this是一个关键字,翻译为:这个。 •this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存中Java对象的内部。
•创建100Java对象,每一个对象都有this,也就是说有100个不同的this。 •this可以出现在“实例方法”当中,(this指向)代表当前正在执行这个动作的对象。(this代表当前的对象“张三”)。
this调用本类中的属性,也就是类中的成员变量(this.成员变量);this其实是当前类对象的引用,通过当前这个类实例化的对象的引用来访问对象的成员变量。
this调用本类中的其他方法(this.成员方法); 注意:只能在构造方法中通过this来调用其他构造方法,普通方法中不能使用。 不能通过this递归调用构造方法,即不能在一个构造方法中通过this直接或间接调用该构造方法本身。 通过this调用其他构造方法必须放在构造方法的第一行中执行。 由于super调用父类的构造函数也必须放在构造方法的第一行中执行,因此,通过this和super调用构造方法不能同时出现一个构造方法中。也不能在一个构造方法中多次调用不同的构造方法。
this调用本类中的其他构造方法,调用时要放在构造方法的首行。
5、static关键字
在java中,static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能;被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
6、package和import •package和 import都是Java关键字
package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。
package的语法格式:package 顶层包名.子包名 ;
package对应于文件系统的目录,package语句中,用 “.” 来指明包(目录)的层次;
package通常用小写单词标识。通常使用所在公司域名的倒置com.atguigu.xxx
•Java_package的作用
package帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:MVC的设计模式
package可以包含类和子包,划分项目层次,便于管理
package解决类命名冲突的问题
package控制访问权限
•Java_import关键字
为使用定义在不同包中的Java类,需用import语句来引入指定包层次下所需要的类或全部类(.*)。
import语句告诉编译器到哪里去寻找类。
import语法格式:import 包名. 类名;
//import pack1.*;表示引入pack1.pack2包中的所有结构
import pack1.Test;
public class PackTest{
public static void main(String args[]){
Test t = new Test(); //Test类在pack1.pack2包中定义
t.display();
}
}
•Java_import关键字重点
在源文件中使用import显式的导入指定包下的类或接口
声明在包的声明和类的声明之间。
如果需要导入多个类或接口,那么就并列显式多个import语句即可
可以使用java.util.*的方式,一次性导入util包下所有的类或接口。
如果导入的类或接口是java.lang包下的,或者是当前包下的可以省略import语句。
如果在代码中使用不同包下的同名的类。那么就需要使用类的全类名的方式指明调用的是哪个类。
如果已经导入java.a包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。
import static组合的使用:调用指定类或接口下的静态的属性或方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)