标题java实训寒假学习总结
一 类与对象
(类:对一类事物的描述,是抽象的,概念上的定义。比如说:人,
对象:是实际存在的该类事物的每个个体。比如说:马云,马化腾,)
1,面向对象学习的三条主线:Java类及类的成员:属性、方法、构造器、(属性=对应类中的成员变量=域、字段=field 行为:对应类中的成员方法=函数=method)
2,面向对象的特征:封装性、继承性、多态性、(抽象性)
3,其他关键字:this,super,abstract,interface,static,final,package,import.
4,面向对象与面向过程:
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象:强调具备了功能的对象 以类/对象为基本单位,考虑谁来做。
5,二者之间的关系:对象是有类派生出来的。
面向对象思想落地实现的规则:
1,创建类,设计类的成员。
2,创建类的对象
3,通过“对象.属性”,“对象.方法”调用对象的结构
二 属性与方法
对比属性与局部变量
1 相同点:
定义变量的格式:数据类型 变量名=变量值
先声明,后使用
变量都有其对应的作用域
2 不同点:
在类中声明的位置不同,
属性;直接定义在类的一对{}内
局部变量:声明在方法内,方法形参,代码块内、构造器形参构造器内部的变量
关于权限修饰符的不同;
属性:可以在声明其属性时指明其权限,使用权限修饰符。(常用的权限修饰符:private,public、缺省、protected–>封装性
局部变量:不可以使用权限修饰符;
3 默认初始化的情况
属性:类的属性,根据其类型,都默认初始化值。
整型(byte、short、int、long:0
浮点型(float、double:0.0
字符型(char:0 (或’\u0000’
布尔型(boolean:false
引用数据类型(类、数组、接口:null
局部变量:没有初始化值,我们在调用局部变量前需要给其赋值
方法:描述类应该具有的功能
比如:math类:sqrt()\random()…
scanner类:nextXxx()…
Arrays类:sort()\binarySearcch()\equals…
方法的声明:权限修饰符 返回值类型 方法名(形参列表){方法体}
返回值类型:返回值 vs 没有返回值
如果方法有返回值 则必须在方法声明时指定返回值类型,同时,方法中需要使用return关键字来返回指定类型的变量或常量:"return 数据"
如果方法没有返回值 则方法声明时使用viod来表示。通常,没返回值的方法中,就不需要使用return .但是,如果使用的话,只能用“return;"表示结束此方法的意思
方法名;属于标识符 ,遵循标识符的规则和规范。方法中不可以定义方法。
方法的重载
在通一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。
即“两同一不同”:同类同名,参数列表、个数、类型不同。
如何确定类中某一个方法的调用:方法名—>参数列表
值传递
如果参数时基本数据类型此时实参赋给形参的是实参真实的数据值
如果参数时引用数据类型此时实参赋给形参的是实参存储数据的地址值
递归方法:一个方法体内调用他自己,包含一种隐式的 循环,他会重复执行某段代码(无需循环控制)。递归一定要向已知方向递归,否则成为无穷递归,
面向对象特征之一:封装和隐藏
隐藏对象内部的复杂性,只对外公开简单的接口,便于的调用,从而提高系统的可扩展性,可维护性,
Java规定的权限修饰符,private<缺省<protected<public
四种权限都能够用来修饰类的内部结构:属性、方法、构造器、内部类
修饰类的只能用:缺省、public
构造器(构造方法): constructor
作用:创建对象,初始化对象的信息
使用:1,如果没显式的定义类的构造器,则系统默认提供一个空参的构造器
2,定义构造器的格式:权限修饰符 类名(形参列表){}
3,一个类中定义的多个构造器,彼此构成重载
4,一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器
5,一个类中,至少会有一个构造器。
三 关键字
static:主要用来修饰类的内部结构(属性、方法,代码块、内部类)
在静态的方法内,不能使用this关键字、super关键字
main的使用
main方法作为程序的入口,可以作为我们与控制台交互的方式
代码块
作用:用来初始化类、对象的信息
代码块要是使用修饰符,只能使用static
实例化子类对象时,涉及到 父类,子类中静态代码块、非静态代码块、构造器的加载顺序:
由父及子,静态先行.
final
1,可以用来修饰:类,方法、变量
final修饰类时:此类不能被其他类所继承,如String类, System类、StringBuffer类
2,修饰方法时:表明此方法不能被重写,如Object类中getClass();
3,用来修饰变量:此时“变量”称为一个常量
static final用来修饰属性:全局变量