Java day05:类和对象

什么是面向对象:

在java中万事万物皆对象,面向对象是围绕着三个方面展开的:封装、继承、多态

一、类

类是对现实生活中一类具有相同属性和共同行为的事物的抽象 (比如猫是一类)

事物都可以分析成:属性+行为--->也就叫做:类
事物的属性:例如人的性别、身高、职业--->也就叫做:类的成员变量
事物的行为:例如人的能睡觉、能开车--->也就叫做:类的成员方法

例如:

public class Person(){
	char sex;//性别
	double height;//身高
	double weight;//体重
	String occupation;//职业
	int age;//年龄
	String nature;//性格
	//能吃饭
	
	//能修电脑
		
	//能开车
}

类的理解

类是对现实生活中一类具有相同属性和共同行为的事物的抽象 (比如猫是一类)

类是对象的数据类型 (猫类 下的 小猫对象)类是具有相同属性和行为的一组对象集合

简单理解:类就是对象模板 (设计汽车图纸是多个汽车的共同属性)

类的组成

属性:指事物具备特征:手机 (品牌,价格,尺寸) 静态

行为:指事物能执行操作:手机(打电话,发短信)动态

类和对象的关系

类:类是对现实生活中一类具有相同属性和共同行为的事物的抽象

对象:类的具体化的实例

简单理解 :类是对象的模板,对象是类具体的实例

类的定义

属性:

在类中通过成员变量来体现 (类中的方法之外变量)

行为:

在类中通过成员方法来体现 (类中方法就叫成员方法)

定义类步骤:

编写类的成员变量

编写类的成员方法

示例

public class Phone{ // 类的作用域 (python 类 没有花括号 靠代码缩进来分作用域)

//成员变量

String brand;//品牌

int price; //价格

//成员方法

public void call(){

System.out.println("打电话")

}

public void sendMessage(){

System.out.println("发短信")

}

}

二、对象的使用

创建对象格式:

类名 对象名=new 类名();

//(像创建数组用new一样,-》数组内存场景 栈内存,堆内存

调用对象中成员格式

对象名.成员变量

对象名.成员方法()

示例

public class PhoneDemo{

public static void main(String[] args){

//创建对象

Phone p=new Phone()

//使用成员变量

p.brand="小米"

p.price=2999

//使用成员方法

p.call()

p.sendMessage()

}

}

三、类的成员方法:

Java中的方法,相当于函数

方法定义:

修饰符 静态 返回值 方法名(方法参数列表)

public static boolean isLeapYear(int year){ }

静态方法只能调用静态方法,不能调用非静态方法,所以要在静态main里能调用得加static静态

方法调用:

isLeapYear(year)

方法名(参数)

方法详细:

方法定义:

就是将一个功能抽取出来,把代码定义大括号中,形成单独功能模块

方法调用

需要要可以通过方法名来去调用,实现了代码可重用,代码冗余问题

方法格式

修改符 返回值类型 方法名(方法参数列表){

     代码

return ; // void return可以不用写

}

方法注意事项

方法不能定义在另一个方法里面

方法不能定义在类的外面

方法重载

是指同一个类中,允许多个同名方法,只要参数列表不同。

方法重载时方法调用怎么办?

通过传不同的参数列表来区分不同的方法

//方法定义
public static boolean compare(int a,int b){// 形参

    if(a==b){
        return true;
    }else{
        return false;
    }
}
//方法重载
public static boolean compare(int a,int b,int c){
    return false;
}
//方法重载
public static String compare(){
    return "";
}
public static void main(String[] args) {
  //方法调用
   boolean bool= compare(1,2);//实参
    boolean bool1=compare(1,2,3);
    String str=compare();
    System.out.println(bool);
}

四、其余知识点

this

表示当前类的变量值,而不是当前方法的变量值

this修饰的变量用于代指成员变量,主要作用是(区分成员变量和局部变量的重名问题)

·this的内存原理:

粉的栈内存,蓝的堆内存

this代表当前对象(成员变量)

当没有赋初始值时,各数据类型的默认值:

int默认值0
boolean默认值false
string默认值null
局部变量必须手动初始化,成员变量才可以不用初始化

private(私有的) 关键字 (public公开的)

公共的,控制访问权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值