Java相关内容整理----对象、属性、类

首先对Java的模式进行解释、

注:属性不属于局部变量,属性属于堆空间(属性从根本上是属于类和对象的,也算是需要new出来的结构)

运用例子来说明属性、对象的数据存储

public class Person
{
	String name;
	bollean isMale;
	int age;
};
public class arraytext
{
	public static void main(string[] args)
	{
		Person p1 = new Person();
		p1.name = 'Tom';
		p1.isMale = true;
		Person p3 = p1;
		p3.age = 10;
	}
};

 此时执行的p3=p1不是值传递,在推空间里也不会给p3创建一个与p1相同的空间,只会将p1的地址赋给p3,此时的p1和p3指向的是堆空间的同一块空间

属性和局部变量的概念

属性:在类的{}之中的都为属性

局部变量:声明在方法里面,方法形式参数,代码块内,构造器形式参数,构造器内部变量

相同点:

1、定义二者的格式和数据类型

2、先声明后使用

3、有其对应的作用域和生命周期

不同点:

1、类的属性都有其默认的初始值,局部变量是没有默认初始化值的

面向对象和类

Java类及类的成员:属性、方法、构造器、代码块、内部类

面向对象三大特征:封装性,继承性,多态性、(抽象性)

此处需要说的是,面向对象更多是一种思想

面向过程:强调功能行为,以函数为最小单位,更多的去考虑怎么做

面向对象:强调具备功能的对象,以类/对象为最小单位,考虑谁来做

类:对一类事物的描述,是抽象的概念存在

对象:具体存在的事物(对象的功能取决于类的设计)、(方法:成员方法)、(属性:成员变量)

以下以代码为例子,创建一个类

class Person
{
	//属性
	String name;
	int age = 1;
	boolean isMale;
	//方法
	public void eat()
	{
		System.out.println("人可以吃饭");
	}
	public void sleep()
	{
		System.out.println("人可以睡觉");
	}
	public void talk(String language)
	{
		System.out.println("人可以说话,使用的是:"+language);
	}
};
//从中可以看书方法的定义方式
//权限修饰符 返回值类型 函数名称(【形参列表】)

创建类的实例----对象(类的实例化)

public class Persontext
{
	public static void main(string[] args)
	{
		Person p1 = new Person();
		p1.name = "Tom";
		p1.sleep();
		p1.talk(Chinese);
	}
};
//对对象调用函数和属性的方法就是“对象名.属性”,“对象名.方法”

//创建一个类的多个对象,则每个对象都独立的拥有一套类的属性(非静态)

方法的重载(overload):在一个同类中,允许存在一个以上的同名方法,只要参数个数或者类型不同即可

当方法同名且参数列表不同的时候,就可以算是重载了。

可变个数的形参

格式:数据类型…变量名

1、可变形参的方法与本类中方法名相同,形参不同的方法之间称为重载

2、可变形参的方法与本类中方法名相同,且形参相同的数组之间不重载,且二者不共存

3、可变形参在方法的形参列表中必须声明在末尾

4、最多只能声明一个可变形参

方法参数的值传递机制

方法的参数遵循值传递机制

引用数据类型一般进行址传递,址传递才能改值,址传递算是某种程度上的指针

比如参数传递就是值传递,而对对象进行的=操作,则是址传递,当引用数据类型做形参的时候,一般也是址传递,只有基本数据类型作为形参传递的时候会进行值传递

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值