JAVA面向对象

面向对象进阶


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文章讲解成员变量,this关键字,隐藏和封装,static关键字


提示:以下是本篇文章正文内容,下面案例可供参考

一、成员变量

概念

成员变量是在类范围内定义的变量,成员变量分为类属性和实例属性两种。

与局部变量的区别

1.类中位置不同:成员在类中,局部在方法中(方法体中)
2.内存中位置不同:成员在堆,局部在栈
3.生命周期不同:成员随对象的创建而存在,消失而消失
4.成员变量有默认值,局部变量无默认值,用前赋值,不然报销

语法

[<修饰符>] [static] [ final] <变量类型><变量名>

示例

创建一个Person类,该类中有一个类成员变量country,一个实例变量name和另一个实例变量age.

package lijiao;

public class Person {
	String name;
	int age;
	String country;
	
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", country=" + country + "]";
	}




}
package lijiao;

public class Test {
	
	public static void main(String[] args) {
		
		Person p1 = new Person();
		p1.name="张三";
		p1.age=18;
		p1.country="";
		

		Person p2 = new Person();
		p1.name="李四";
		p1.age=18;
		p1.country="";	
		
		System.out.println(p1);
		System.out.println(p2);
	}

}

效果图:

在这里插入图片描述


二、this关键词

作用

就是让类中的一个方法访问该类中的另一个方法或成员变量,解决了成员变量和局部变量同名的问题。

示例

代码如下(示例):

public class Hero {
    public void jump(){
        System.out.println("--英雄遇到障碍要跳过去--");
    }
    public void run(){
        System.out.println("--英雄正在奔跑--");
        Hero hero = new Hero();
        System.out.println("hero内存地址为:"+hero.hashCode()+"它要跳起来了");
        hero.jump();
    }
}

public class Test {

    public static void main(String[] args) {
		//创建对象1
        Person p1 = new Person();
        p1.country = "长沙";
        p1.name = "张三";
        p1.age = 18;
		//创建对象2
        Person p2 = new Person();
		//输出
        System.out.println(p1);
        System.out.println(p2);
    }
}

效果图:

在这里插入图片描述


三,隐藏和封装

概念

封装:是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息.

目的

1.隐藏类的实现细节
2.限制对属性的不合理访问
3.保证对象的完整性
4.便于修改,提高代码的可维护性

修饰符

访问修饰符同一个类中同一个包中子类中所有类中
private——————
default————
protected——
public

四.static修饰符

概念

1.java类的运行包括类加载和实例化两个阶段
2.静态成员包括静态代码块,静态属性和静态方法
3.

总结

以上就是今天要讲的内容,感谢观看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值