上一节
前面介绍了java。并两篇基础语法。
这节是java的面向对象的特点与类的介绍。
也许你学过c与c++,你会知道面向过程与面向对象(OOP)的区别你也可以看看这个博主的理解
面向过程时,一旦确定了过程,就要考虑数据存储,对于规模不大的来说还不错,但规模较大时,面向对象更为适用。
面向对象的程序就是由对象组成的,每个对象包含公开的功能,和隐藏的实现。有的时候不必关心其功能的具体实现。
java的面向对象思想
通过抽象从具体实例中抽取共同的性质形成一般的概念——类。
产生类的目的是创建具有属性和功能的对象。
面向对象的特征:
封装性:把数据和对数据的操作封装在一起;
继承性:子类继承父类的属性和功能
多态性:操作名称都多态(多个方法有相同名字):重载
和继承有关的多态(同一个操作被不同对象调用产生不同行为):重写
1、类
类是一种数据类型。
确定对象将会有的特征(属性)和行为(方法),所有java程序都以类class为组织单元。
前面说了java中有挺多类库,我们是可以直接用的。
但是我们也需要自己写类实现功能。
例子:
//定义类
public class Telphone{
//定义属性
float screen;
float cpu;
float mem;
//定义方法
void call(){
//打电话功能
}
void sendMessage(){
//发短信功能
}
}
类的结构
从上述例子看
class 类名{
//类体
成员变量
方法声明{
//方法体
局部变量
}
类之间的关系
依赖,对象A需要访问对象B去实现某功能;
聚合(关联),A类的对象包含B类的对象。
继承,这个后面介绍。
2、对象
它由类构建
1.创建对象 类名 对象名=new 类名();
Telphone phone=new Telphone();
2.使用对象
引用对象属性:对象名.属性
phone.screen=5;
引用对象方法:对象名.方法名()
phone.sendMessage();
3、构造方法:
上述的new Telphone();就是使用的构造方法。
定义在Java类里的用来初始化对象的方法,与类名相同,没有返回值。
类默认有无参构造方法。你也可以重写一个你需要的构造方法。
用new 构造方法创建一个新对象, 负责对象成员的初始化工作,
为实例变量赋予合适的初始值.
public 构造方法名(){
//初始化代码
}
无参构造方法,public hello(){ }
有参构造方法 public hello(int a,int b){ }
都可以用来创建对象,后者可以给变量赋值,没有指定构造方法,系统会自动添加无参构造方法
构造方法必须满足:
1、方法名与类名相同
2、没有返回类型
4、方法
方法用于操纵数据,实现功能。上述的构造方法就是一个特殊的方法
定义一个方法的语法:
**访问修饰符 返回值类型 方法名(参数){
方法体
}**
其中:
1)访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略,其中 public 表示该方法可以被其他任何代码调用。
2)返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;
如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值。
3)方法名:定义的方法的名字,必须使用合法的标识符。
4)参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
实例
public class Hello{
//定义print方法
public void print(){//无参无返回值
System.out.println("hello");
}
public static void main(String[] args){
//调用方法
Hello test =new Hello();
test.print();
}
}
方法的使用
第一步,定义方法
a. 方法体放在一对大括号中,实现特定的操作
b. 方法名主要在调用这个方法时使用,需要注意命名的规范,驼峰命名。
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过对象名.方法名();实现。
实例方法和类方法
方法类型前面不加关键字static修饰就是实例方法,加static修饰的就是类方法
区别:实例方法只能由对象调用,不能通过类名调用,而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用;补充:this关键字可以出现在实例方法中但不可以出现在类方法中
方法的重载
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:
判断方法重载的依据:
1.必须是在同一个类中
2.方法名相同
3.方法参数的个数、顺序或类型不同
4.与方法的修饰符或返回值没有关系
PS:支付宝搜“654656370”可领红包。