Java初识面向对象-类与对象

一、面向对象概念

现实生活:

​ 类:抽象的概念,把具有相同特征和操作的事物归为一类

​ 先有实体,再有类的概念

代码世界:

​ 类:抽象的概念,把具有相同属性和方法的对象归为一类

​ 编写顺序:先有类,再创建对象

​ 类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象

二、类

  1. 类中只有属性和方法
  2. 属性也叫做全局变量,属性分为成员变量和静态变量
  3. 方法分为成员方法和静态方法
public class 类名{
    //属性也叫做全局变量,分为成员变量和静态变量
    
    //成员变量:属于对象的变量,必须使用对象调用
    数据类型 变量名;
    
    //静态变量:属于类的变量,使用类调用
    static 数据类型 变量名;
    
    //方法分为成员方法和静态方法
    
    //成员方法
    访问修饰符 返回值类型 方法名([参数]){}
    
    //静态方法
    访问修饰符 static 返回值类型 方法名([参数]){}
}

三、对象

  1. 创建对象的语法:类名 对象名 = new 类名();

  2. new 构造方法; 属于对象,就在堆内存中开辟空间

​ 类名 对象名 :对象名属于引用,存的是对象在堆内存中的地址

  1. 操作对象:

    a.设置成员属性
    b. 获取成员属性
    c.调用成员方法

四、成员属性/成员变量

  1. 语法结构:数据类型 变量名;

  2. 编写的位置:类里,方法的外面
    成员变量 vs 局部变量

  3. 成员变量:类里,方法的外面的变量,并且系统会赋默认值,作用在整个类中

数据类型初始值
booleanfalse
char‘\u0000’
byte0
short0
int0
long0L
float0.0f
double0.0d
引用类型变量null

局部变量:方法内的变量,系统不会赋默认值,作用在方法中

五、成员方法

  1. 语法结构:访问修饰符 返回值类型 方法名([参数]){}
    编写的位置:类之里,方法之外

  2. 成员方法 vs 静态方法
    成员方法:属于对象的方法,必须使用对象调用
    静态方法:属于类的方法,使用类名调用

  3. 实例:

package com.qf.test01;

public class Test01 {
	/**
	 * 知识点:初识面向对象
	 * 
	 * 需求:创建人类的对象
	 * 分析:
	 * 		1.创建人类(属性:name、sex、age,方法:eat、sleep、method)
	 * 		2.创建对象
	 * 		3.操作对象(设置属性、获取属性、调用方法)
	 */
	public static void main(String[] args) {
		
		//创建对象
		Person p = new Person();
		
		//设置属性
		p.name = "小明";
		p.sex = '男';
		p.age = 23;
		
		//获取属性
		System.out.println(p.name);
		System.out.println(p.sex);
		System.out.println(p.age);
		
		//调用成员方法
		p.eat();
		p.sleep();
		
		//调用静态方法(静态方法和属性需要使用类名调用)
		Person.method();
	}
}

package com.qf.test01;

public class Person {

	String name;
	char sex;
	int age;
	
	public void eat(){
		System.out.println("吃饭饭");
	}
	
	public void sleep() {
		System.out.println("睡觉觉");
	}
	
	public static void method() {
		System.out.println("静态方法");
	}
}

六、构造方法/构造器

  1. 含义:与类名相同,且没有返回项的方法

  2. 分类 :无参构造、有参构造

  3. 作用:
    a.和new关键字一起表示创建对象
    b.初始化数据

  4. 注意:
    a.如果写了有参构造,系统不会默认实现无参构造
    c.当类中没有写构造方法时,系统会默认添加无参构造(无参数的构造方法)
    b.构造方法可以重载

  5. 经验:
    a.写了有参构造,自己把无参构造写上
    b.有参构造好处:创建对象时,把数据赋值给该对象实例演示:

  6. 实例

public class Person{
    //注意:这种不是构造方法,是成员方法
    public void Person(){}
}
package com.qf.test01;

public class Test01 {

	public static void main(String[] args) {
		
//		Person p = new Person();
//		p.name = "小明";
//		p.sex = '男';
//		p.age = 23;
							//初始化数据
		Person p = new Person("小明", '男', 23);
		
		System.out.println(p.name);
		System.out.println(p.sex);
		System.out.println(p.age);
		
		p.eat();
		p.sleep();
	}
}
package com.qf.test01;

public class Person {
	
	//属性
	String name;
	char sex;
	int age;
	
	//构造方法 -- 无参构造
	public Person(){
		System.out.println("Person的无参构造");
		this.name = "小康";
		this.sex = '男';
		this.age = 43;
	}
	
	//构造方法 -- 有参构造
	public Person(String name,char sex,int age){
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	
	//成员方法
	public void eat(){
		System.out.println(this.name + "吃饭饭");
	}
	
	public void sleep(){
		System.out.println(this.name + "睡觉觉");
	}
	
	//静态方法
	public static void method(){
		System.out.println("静态方法");
	}
}
  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值