Java笔记(P400/241-P427/269)

第十章 封装

1.静态方法与实例方法的区别

静态方法:

public class test_p405 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		//静态方法与实例方法的区别
		//静态方法要用“类名.方法名”的方式调用,实例方法要先new对象,再用“引用.”的方式去调用

		//静态方法的调用
		doSome();
		test_p405.doSome();

		//实例方法的调用
		test_p405 a1 = new test_p405();
		a1.doOther();
	}
	//静态方法
	public static void doSome() {
		System.out.println("do some!");
	}
	//实例方法(对象级别的方法)
	public void doOther() {
		System.out.println("do other!");
	}
}

静态方法:类相关,访问不了实例对象

实例方法:对象相关,必须现有对象才能访问

2.面向对象的三大特征:封装、继承、多态

3.什么是封装?

        不再对外暴露复杂的数据,对外只提供简单的操作入口

4.怎么进行封装?

  • 属性私有化(使用private关键字进行修饰)
  • 对外提供set方法和get方法作为操作入口
public class test_p405 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//静态方法与实例方法的区别
		//静态方法要用“类名.方法名”的方式调用,实例方法要先new对象,再用“引用.”的方式去调用
		Person p1 = new Person();
		p1.setAge(150);
		System.out.println("年龄:" + p1.getAge());
	}
}

class Person {
	private int age;
	//因为私有属性,需要提供一个访问入口
	//外部程序只能通过访问入口对数据进行读写

	//来完成读的方法(get)
	public int getAge() {
		return age;
	}

	//来完成写的方法(set)
	public void setAge(int a) {
		//设置关卡,判断输入的是否合法
		if(a<0 || a>100) {
			System.out.println("输入不合法,请重新输入");
			return;
		}
		
		age=a;
	}
}

第十章 this和static

1.static

  •  所有static修饰的都是类相关的,都是采用“类名.”的方式去访问的

         静态变量举例:

                class Chinese{

                        int id;

                        static String country=”中国”;//因为一个类中都是一样的

                }

局部变量:栈

实例变量:堆内存

静态变量:方法区

2.什么时候定义成实例方法:

此方法描述了一个行为,该行为必须由对象去触发

方法体中访问了实例变量,一定是个实例方法

工具类当中的方法一般都是静态的

public class test_p417 {
	//this
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Custermer c1 = new Custermer("张三");
		c1.shopping();
	}
	
}
class Custermer{
	String name;
	
	//构造方法(赋值),方法名必须和类名相同
	public Custermer() {
		
	}
	public Custermer(String a) {
		name = a;
	}
	
	//实例方法(动作),动作名不需要和类名相同
	public void shopping() {
		//c1调用shopping,this就是c1
		//c2调用shopping,this就是c2
		System.out.println(name + "在购物");
	}
}

3.静态代码块

语法:

static {

Java语句

}

静态代码块在类加载时执行并且只执行一次,自上而下的顺序执行且在main方法之前执行

4.this是一个关键字,全部小写

一个对象一个this,this是一个引用(保存当前对象的内存地址的变量,即this指向自身,代表当前对象),保存在堆内存中。

5.this只能使用在实例方法中,谁调用这个实例方法,this就是谁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值