对象和类
描述生活场景中单个的个体时,要使用到“对象”;而当我们需要描述一群人或者物时,要用到“类”这个概念。比如,一个人people1是一个对象;人类People属于类。
类的定义:
访问修饰符 关键字class 类名(){//方法体;由属性和方法组成的
//类中的属性
//类中的方法
}
}
eg.public class People(){
//属性的声明
private int age;
//定义构造方法
public People(){
}
//定义普通方法
public void eat(){
System.out.println("They are eating!");
}
}
对象的创建:
类名 对象名 = 关键字new 类名();
eg.People people1 = new People();
普通方法、构造方法及其调用
实例化一个对象或者给某个属性赋初始值时,就要调用类的构造器(又称为构造函数和构造方法);描述对象具有的一般行为,需要调用普通方法。两个方法的区别如下:
eg.
//构造方法的定义
访问修饰符 类名(){
}
//普通方法的定义
访问修饰符 返回值类型 方法名(){
}
//构造器的调用
People people1 = new People();
//普通方法的调用
people1.eat();
1、构造方法不需要返回值类型,普通方法一定要;
2、构造方法名同类名,普通方法名自定义,绝不和类名同;
3、构造方法有默认的,普通方法必须自行定义;
4、构造方法用途与普通方法不同,如上介绍;
5、调用方式不同,如上(注意调用时,不是“对象调用方法”,而是“对象名里存放的地址调用内存中相应的方法”);
6、构造方法每使用一次,就会构造一个全新的对象,但普通方法不同的对象类调用执行的步骤、过程都不会发生改变。
对象&参数
当某个类的对象具有某种行为时,它可以作为参数来传递。
eg.
public class People(){}
People p = new People("Brina");
public class Child(){
public void teach(p){
}
}
this关键字
当设置某个类的属性时,表示"当前对象"时要用到this。设计登陆界面时可以看到很多例子。
eg.
public class Frame(){
public static void main(String []args){
Frame f = new Frame();
f.init();
}
public void init(){
//设置当前窗体的标题
this.setTitle("登陆界面");
//设置当前窗体的尺寸
this.setSize(100,200);
}
}
值传递和引用传递
当待传递的数据类型是基本数据类型和String类型时,用到值传递;类类型等自定义类型使用值传递。它们的区别体现在如下代码里:
eg.
//值传递:传递的是对象的值
int i = 100;
int j = i; //i把值赋给j之后,j的变化对i没有影响
//引用传递:传递的是对象名对应的地址
People p1 = new People("Brina");
People p2 = new People("Anna");
p1 = p2; //p2的地址给了p1,此后两着对应的值的变化时一样的
p1.setName("EAGLE");//p1、p2的值同时变成了EAGLE
基本数据类型和引用数据类型
传递参数的方式不同,用到的数据类型就不同。
基本类型://自动类型转换按从上到下自行发生(注意字节和进制对是否能自动转化的共同作用),强势类型转换发生在大范围数据类型转向小范围数据类型
byte
short
int
long
float
double
char
boolean
引用类型:
class类
数组
描述生活场景中单个的个体时,要使用到“对象”;而当我们需要描述一群人或者物时,要用到“类”这个概念。比如,一个人people1是一个对象;人类People属于类。
类的定义:
访问修饰符 关键字class 类名(){//方法体;由属性和方法组成的
//类中的属性
//类中的方法
}
}
eg.public class People(){
//属性的声明
private int age;
//定义构造方法
public People(){
}
//定义普通方法
public void eat(){
System.out.println("They are eating!");
}
}
对象的创建:
类名 对象名 = 关键字new 类名();
eg.People people1 = new People();
普通方法、构造方法及其调用
实例化一个对象或者给某个属性赋初始值时,就要调用类的构造器(又称为构造函数和构造方法);描述对象具有的一般行为,需要调用普通方法。两个方法的区别如下:
eg.
//构造方法的定义
访问修饰符 类名(){
}
//普通方法的定义
访问修饰符 返回值类型 方法名(){
}
//构造器的调用
People people1 = new People();
//普通方法的调用
people1.eat();
1、构造方法不需要返回值类型,普通方法一定要;
2、构造方法名同类名,普通方法名自定义,绝不和类名同;
3、构造方法有默认的,普通方法必须自行定义;
4、构造方法用途与普通方法不同,如上介绍;
5、调用方式不同,如上(注意调用时,不是“对象调用方法”,而是“对象名里存放的地址调用内存中相应的方法”);
6、构造方法每使用一次,就会构造一个全新的对象,但普通方法不同的对象类调用执行的步骤、过程都不会发生改变。
对象&参数
当某个类的对象具有某种行为时,它可以作为参数来传递。
eg.
public class People(){}
People p = new People("Brina");
public class Child(){
public void teach(p){
}
}
this关键字
当设置某个类的属性时,表示"当前对象"时要用到this。设计登陆界面时可以看到很多例子。
eg.
public class Frame(){
public static void main(String []args){
Frame f = new Frame();
f.init();
}
public void init(){
//设置当前窗体的标题
this.setTitle("登陆界面");
//设置当前窗体的尺寸
this.setSize(100,200);
}
}
值传递和引用传递
当待传递的数据类型是基本数据类型和String类型时,用到值传递;类类型等自定义类型使用值传递。它们的区别体现在如下代码里:
eg.
//值传递:传递的是对象的值
int i = 100;
int j = i; //i把值赋给j之后,j的变化对i没有影响
//引用传递:传递的是对象名对应的地址
People p1 = new People("Brina");
People p2 = new People("Anna");
p1 = p2; //p2的地址给了p1,此后两着对应的值的变化时一样的
p1.setName("EAGLE");//p1、p2的值同时变成了EAGLE
基本数据类型和引用数据类型
传递参数的方式不同,用到的数据类型就不同。
基本类型://自动类型转换按从上到下自行发生(注意字节和进制对是否能自动转化的共同作用),强势类型转换发生在大范围数据类型转向小范围数据类型
byte
short
int
long
float
double
char
boolean
引用类型:
class类
数组
1885

被折叠的 条评论
为什么被折叠?



