类和对象

1.什么叫做对象?
概念: 任何一个具体的事物即为一个对象;
生活中的对象举例:一个杯子,一个人,一台手机等等;
如何描述一个对象:
具体某个学生
特征:肤色、名字、年龄、身高、体重、性别、学号、学分、班 级......
行为:吃饭、睡觉、打游戏、学习、打篮球......

2.什么叫做类?
生活中怎么对物体进行分类的?
类是由相似的特征和相似的行为的归类。
举例:电脑,手机,手表,书,球等等;

程序中的类是什么样的呢?
1.程序中的类是根据生活中类的特征和行为进行定义的;
2.定义为一个class;
3.一个class由属性和方法组成;
4.程序中类是一种模板;

类由两个部分组成,分别是:
1.属性 类的属性对应的是对象的特征
2.方法 类的方法对应的是对象的行为
举例:
//定义一个Student类
public class Student {

//声明姓名属性
private String name;
//声明学分属性
private int score;

//定义一个设置姓名属性值的方法
public void setName(String n){
//将参数n赋值给属性name
name = n;
}

//定义一个返回姓名属性值的方法
public String getName(){
return name;
}

//定义一个学习方法
public void study(Book book){
//让学分加1
score++;
//输出
System.out.println(name+"在学习"+book.getName()+"书中的内容,现在的学分是"+score);
}

//定义一个玩的方法
public void play(){
//输出
System.out.println(name+"在玩游戏中!");
}
}

3.类的基本格式:
//定义类的格式
public class 类名 {
//声明属性的格式
private 数据类型 属性名;

//定义方法的格式
public 返回值数据类型 方法名(数据类型 参数名,...){
//方法体
}
}
注意:方法名的参数可以为对象;

4.实例化对象和调用方法的格式
实例化对象的关键字是:new
格式:
类名 对象名(变量名) = new 类名();
Student stu = new Student();
调用方法的格式:
对象名.方法名(参数值,...);
stu.setName("张三");
stu.study();
stu.play();

5.对象作为参数进行传递
对象是可以作为参数行传递的。
因为java中所有的class都是数据类型。

6.什么叫构造方法?
1. 概念:当我们创建某个类的对象是,一般的格式是:类名 变量名=new 类名()。其中的类名()即为构造方法。
2.构造方法的格式
public 类名(数据类型 参数名,...){
函数体
}

3构造方法的用途
1.可以给属性初始化值.
2.实例化对象.
实例化对象的格式: 类名 对象名 = new 类名();
java会给每一个类提供一个默认的构造方法(不带参数的构造方法);如果在类中自定义构造方法,则默认的构造方法就无法再继续使用了,只能使用自定义的. 4.构造方法和普通方法的区别
1.构造方法不需要定义返回值数据类型;普通方法必须要定义返回值数据类型.
2.构造方法的名字必须和类名完全相同;普通方法的方法名可以自己定义,只要符合语法规则就行.
3.构造方法是用来实例化对象的;普通方法是用来执行对象的某一个行为的.
4.构造方法只要使用一次就会实例化一个新的对象出来;普通方法只要对象不变,调用的还是同一个方法.
5.举例:
public Student{
private String name;
private int score;
public Student(string name,int xie){
this.name=name;
this.xie=xie;
}
public Student(){
}
}
7.方法重载
1.实现方法重载的条件
1.方法名必须要完全相同;
2.方法的参数个数,参数类型,参数顺序必须要有一个不同.

2.在什么情况下要使用方法重 载
一个人有几个学习方法;每一个人的学习方法都会有所不同

3.举例:
如上述6.5即为构造方法的重载;
下面为一般方法的重载:
public student{
private String name;
private int score;
public void study(int score){
this.score+=score;
}
public void study(){
score+=score+1;
}
}

8.this关键字
1.this关键字是用来区分属性和参数
2.this表示的是当前调用方法的对象;this.name就表示对象的name属

性既可以调用属性又可以调用方法.
3.举例:如7.3中的this.score+=score;


9.值传递和引用传递
1.值传递适用于java的那种数据类型
值传递适用于java的基本数据类型和String类型.
String str = "";

2.值传递的方式:将一个变量的值复制给给另一个变量,函数中变量的传值;
举例:int score=5;
stu.study(score){
}


3.引用传递适用于java的什么数据类型
适用于java的引用数据类型.(包括数组,类,抽象类,等)
String str = new String();
char a[]=new char [2];
a[0]='a';
a[1]='b';
stu.play(a){
}

引用传递,传递的是对象在内存中的地址.也可以叫做地址传递.
4.引用传递的方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值