Java 面向对象基础

面向对象是一种编程思想

OOP(object oriented programming),面向对象编程

POP(procedure oriented Programming),面向过程编程

FP(functional programming),函数式编程

面向对象编程的基本特征:

封装 继承 多态

事物(对象) ——> 抽象 ——>类

class Classname(){

//实例对象

	void method(){
	
	//方法
	
	}

}

类与对象的关系:

类是对一类事物的描述,是抽象的

对象是一类事物的实例,是具体的

类是对象的模板,对象是类的实体

引用类型的变量,简称引用。

引用是可以指向对象的,简称引用指向对象。

//方法

【修饰符】 返回类型 方法名(【参数列表】)【抛出异常的类型】{

​ //code

}

修饰符:

1.访问控制修饰符

公共访问控制符public、保护访问控制符protected、缺省默认访问控制符、私有访问控制符private

2.非访问控制修饰符

 抽象方法控制符abstract 、静态方法控制符static 、最终方法控制符final 、本地方法控制符native 、同步方法控制符synchronized

返回类型如果不为void,必须要有返回值,方法要有return

参数传递:

形参: 形式上的参数

方法定义括号内定义用来接收外部实际参数的参数

实参: 实际上的参数

调用方法是被传入的参数

形参实参在jvm的栈里面有不同的内存空间

要注意形参与实参存储的是常量还是地址(对象)(基本类型传递值还是引用类型传递地址)

对象在jvm内存中,存储的是堆中类数据的地址

例如:

public class Test{
	//该方法中,改变参数当前的值
	public static void changeNum(int a){
		a = 10;
	}
	public static void main(String[] args){
		int a = 1;
		System.out.println("before: a = "+a);
        //传参之前,变量a的值
		changeNum(a);
        System.out.println("after: a = "+a);
        //传参之后,变量a的值
    }
}

before a=1 after a=1

public class Test{
	//该方法中,改变引用s所指向对象的name属性值
	public static void changeName(Student s){
		s.name = "tom";
	}
	public static void main(String[] args){
		Student s = new Student();
		System.out.println("before: name = "+s.name);
        //传参之前,引用s所指向对象的name属性值
		changeName(s);
		System.out.println("after: name = "+s.name);
        //传参之后,引用s所指向对象的name属性值
	}
}

before name = after name =tom

this

this关键字的使用场景:

  1. 区别成员变量和局部变量
  2. 调用类中的其他方法
  3. 调用类中的其他构造器

跟“我“一样,谁说的就是谁,当前对象

public class Student{
	public void sayHello(){
		this.show();//这个this就表示当前类的对象stu
	}
	public void show(){
	}
}

public static void main(String[] args){
		Student stu = new Student();
		stu.sayHello();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值