------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一面向对象概念
1 理解面向对象
(1) 面向对象是相对面向过程而言。
(2)面向对象和面对过程都是一种思想。
(3)面向过程强调的功能行为。
(4)面向对象将功能封闭成对象,具备了功能的对象。
(5)面向对象是基于面向过程的。
(6)面向对象的三个特征:封装,继承,多态。
2面向对象要点
(1)相对于过程,面向对象使问题更加简单化。
(2)对象不只是指人,万物皆可为对象。
(3)面向对象使执行者变为指挥者。
(4)开发时,先找对象,再找功能,找到了直接用。
(5)没有对象时,创建对象再用。
3.main函数
public static void main(String[] args)
public :代表着该函数的访问权限是最大的。
static :主函数是静态的,代表主函数随着类的加载就已经存在。
void :主函数的返回值没null 没有具体返回值。
main:不是关键字,但是一个特殊的词,可以被jvm所识别。
(String[] args) 函数的参数,参数类型是一个数组,该数组中的元素是字符串,JVM在调用主函数时,传入的是new String[0];
5 匿名对象
(1)匿名对象是对象的简化形式。
(2)匿名对象调用属性没意义,调用方法有意义,因为方法里有内容。
(3)匿名对象两种使用情况:
<1>当对对象方法仅进行一次调用时。如:new Car().run();
<2>作为实际参数进行传递时。
(4)代码演示:
public static void main(String[] args)
{
show(new Person());
}
public static void eat(Person c)
{
System.out.println(c);
}
二 封装
1封装概述
(1): 指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
(2)好处:
将变化隔离
便于使用
提高重用性
提高安全性
(3)封装原则 :
将不需要的对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
(4) 函数,类,包 和框架 都是封闭体。2 封装private
(1) private关键字
private是一个权限修饰符。用于修饰成员(成员变量和成员函数,内部类) 被私有化的成员只有在本类中有效。
(2)要点说明:
<1>将成员变量私有化, 对外提供对应的set,get方法对其进行访问,提高对数据访问安全性。
<2>将属性私有化以后,类以外即使建立了对象也不能直接访问。
<3>私有仅仅是封装的一种表现形式,权限在访问不到的范围内都是封装。
<4>在访问方式中可加入逻辑判断语句,提高代码健壮性。
三 构造函数
1 特点:
(1) 函数名与类名相同
(2)不用定义返回值类型
(3)不可以写return语句
2 作用:给对象进行初始化
3 注意:
(1)对象一建立就会调用 与之相对应的构造函数。若访问不到相应的构造函数,则对象不能建立。
(2)当一个类中没有定义构造函数时, 系统会默认给该类加入一个空参数的构造函数。
(3)在类中自定义了构造函数后,默认的构造函数就没有了。
(4)多个构造函数是以重载的形式存在的。
4.构造函数与一般函数的区别:
(1)构造函数是在对象一建立就运行,而一般方法是对象调用才运行。
(2) 一个对象建立,构造函数只运行一次,而一般方法可多次被调用。
5 何时定义构造函数?
(1) 当分析事物时, 该事物具备一些特性或行为,那么将这些内容定义在构造函数中。
6.构造代码块。
(1)作用:给对象进行初始化。对象一建立就运行,并且优先于构造函数执行。
(2)和构造函数的区别:
构造代码块是给所有对象进行统一初始化
构造函数是给所对应的对象进行初始化。
(3) 构造代码块中定义的是不同对象共性的初始化内容。
四 .继承
1.概述
(1)例如 学生 和工人两个类 将这两个类中的共性内容抽取出来 定义成一个类 让学生和工人与单独
描述的这个类有关 抽取共性内容,建立父类。继承使用extends关键字.
(2)作用提高了代码的复用性。
让类与类之间产生了关系,有了这个关系,才有了多态的特性。(3)代码:
class Person { private String name; private int age; Person(String name,int age) { this.name = name; this.age = age; } } class Student extends Person { Student(String name,int age) { super(name,age); } void study() { System.out.println("study"); } }
五.多态
1.多态的概念
(1) 多态:可以理解为事物存在的多种体现形态。
(2)多态的体现:
父类的引用指向了自己的子类对象。方法的重载。
方法的覆盖。
(3)多态的前提:
<1>必须是类与类之间有关系,要么继承,要么实现。
<2>通常还有一个前提:存在覆盖。六.Object类
1.Object类
(1)Object:是所有对象的直接或者间接父类,是一个超类,该类中定义的肯定是所有对象都具备的功能。
(2)Object类中已经提供了对对象是否相同的比较方法,如果自定义类中也有比较相同的功能,没必要
重新定义,只要沿袭父类中的功能,建立自己特有的比较内容即可,这就是覆盖。
(3)java认为所有对象都具备比较性,该方法equals定义在Object中。
2.Object中方法:
(1)toString():返回该对象的字符串表示,所有对象都可以变成字符串打印。
(2)hashCode():返回该对象的哈希码值。
(3)getClass():返回此Object的运行时类。(4)wait();
(5)notify();
(6)notifyAll();
七.final关键字
final:意为“最终”,是一个修饰符。
(1)可以修饰类,函数,变量。
(2)被final修饰的类,不可以被继承。
(3)被final修饰的方法不可以被复写。如:final void show(){}//最终方法
(4)被final修饰的变量是一个常量。如:final int x=3;
(5)内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------