类与对象(一)
来源:互联网 发布:java如何一行输出 编辑:程序博客网 时间:2024/05/18 02:26
一:类与对象的关系
类是对对象的描述,是创建对象的“模板”,是对象的抽象
对象是表示现实世界中某个具体的事物,是类的一个实例,是类的实例化结果
class 类名{ 属性声明;方法声明;}
//定义一个类class People{//类的属性声明(变量定义)int age;float height;//类的功能声明(方法定义)void printAge(){ System.out.println(age);}void updateAge(int a){age=a;} }
对象的声明和创建
声明对象和声明变量类似,例如:People p;
创建对象使用关键字new
class Test{public static void main(String [] args){People p; p=new People();People her=new People();People yp1=new People();}}
对象的使用
class Test{public static void main(String [] args){People p; p=new People();p.age=20;p.printAge();}}
形参和实参
形参和实参的概念
形参:全称为“形式参数”,是在定义方法名和方法体的时候使用的参数,用于接收调用该方法时传入的实际值
实参:全称为“实际参数”,是在调用方法时传递给该方法的实际值
注意
调用方法时给定的实际参数类型要与定义方法时形式参数类型相同,而且顺序也要相同
方法的调用
class People{void updateAge(int a){System.out.println(a);} }
class Test{public static void main(String [] args){ People my=new People();my.printAge();xxxmy.printAge(“张三”);xxxxmy.printAge(20.12);xxxxxmy.printAge(20);}}
递归方法
递归就是在一个方法中调用自己
例如一个方法为sort(),那么如果在这个方法中出现了调用它自己的语句:static void sort() {……sort();……}就可以将这个方法叫做递归方法
.构造方法
构造方法是一个用来初始化一个对象的内部状态的特殊方法
class Test{public static void main(String [] args){People my; my=new People();my.age=20;my.printAge;}}
People():在实例化时候就相当于调用无参的默认构造方法。
构造方法的特殊性
构造方法的主要作用是完成对类对象的初始化工作
在创建new()一个类的新对象时,系统会自动调用该类的构造方法为新对象初始化
构造方法不能由编程人员显式地直接调用
构造方法没有返回类型
构造方法的方法名与类名相同
小结
在Java语言中,每个类都至少有一个构造方法
如果类的定义者没有显式地定义任何构造方法,java编译器将自动为类提供一个默认的构造方法,默认构造方法没有参数,默认构造方法没有方法体
在Java类中,一旦类的定义者显式地定义了一个或多个构造方法,系统将不再提供默认的构造方法
构造方法的重载
class Person {int age;Person() { age = 18; } //不带参数的构造方法Person(int i) { age = i; } //带参数的构造方法void setAge(int i) { age = i; }}
class Test {public static void main(String[] args){Person p1=new Person();Person p2=new Person(21);}}
根据传递参数的不同,Java会自动的选择相应的构造方法
0 0
- 类与对象(一)
- 类与对象一
- 实验三 类与对象 (一)
- php类与对象(一)
- Java类与对象(一)
- JAVA基础(一)类与对象
- 第三章 面向对象(一)--类与对象
- C++面向对象(一)——类与对象
- 面向对象实验一(类与对象)
- Runtime(一)类与对象
- 类与对象总结一
- C++类与对象一
- (一)对象与引用
- Java学习笔记(一)对象与类
- Java笔记(一)类与对象的基本概念
- C++ 上机实验(一)【类与对象】
- Java中类与对象(一):实例方法
- 类&对象(一)
- Caffe学习:Loss
- SecureCRT中文显示乱码
- Android Context 是什么?
- 南邮 OJ 2066 好奇的奥利安娜
- Adobe Dreamweaver CS6 下载及破解教程
- 类与对象(一)
- Parcelable和Serializable的区别
- autolayout - sizeClass - Masonry - 3
- 最好用的下拉刷新
- 南邮 OJ 2067 数数
- android 究竟是什么决定了app的名称 application label activity label
- app后端设计-- 数据库分表
- Debian8下搭建IVRE(docker方式)
- 仿新版QQ锁屏下弹窗