java基础语法之面向对象

这篇博客详细介绍了Java的面向对象特性,包括类的定义、对象的创建、三大特征(封装、继承、多态)以及相关的关键字如static和final。通过实例讲解了类的成员如属性和方法,以及构造器的作用。此外,还探讨了Object类、包装类、方法的重载和参数传递等概念。
摘要由CSDN通过智能技术生成

#面向对象

面向对象是一种编程思想,与之对应的是面向过程

区别:①面向过程(POP)强调的是功能 ② 面向对象(OOP)强调的是带有具体功能的对象

面向对象的优点:提高代码复用性,降低代码间的耦合度,提升代码维护性。

三大特征:封装、继承、多态

一、类

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

多实例:对象的数量不受限制

1.1.1类的使用

定义:[修饰符] class 类名{类的成员}

在一份(java)文件中,只能有一个public修饰的类,且类名必须与文件名相同。

1.1 类的成员

属性,方法, 构造器(代码块、内部类)

1.1.1 属性

类的成员变量,存储静态的数据,有默认值(同数组)。

定义:修饰符 数据类型 属性名[=初始值];

1.1.2 方法

类的行为。

形参: 在方法被调用时用于接收外部传入的数据的变量 (方法的局部变量)

参数类型:形式参数的数据类型

实参: 在方法被调用时实际传进来的数据

实参和形参数据类型必须一致

定义:

① 有参方法:修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2…){语句;return 返回值}

返回值的类型必须与返回值类型相同。

② 无参方法:修饰符 void 方法名(){语句;[return;]}

return:结束方法。后面不能有任何语句。

无返回值的方法只能调用

有返回值的方法可以调用,也可以接收返回值。

本类的方法可以互相调用。(注:main方法不能直接调普通方法,还是要申明对象才能调用,main方法被static修饰)

//public修饰的 类必须与文件名同名
//在一个文件中,只能有一个public类
//潜规则:做项目开发时,都是一个文件一个类
public class HelloWorld {
   
	//属性的设计(类的成员之一)===成员变量
	//存储静态的数据
	//公式:修饰符 数据类型 变量名 [= 值];
	//成员变量有默认值----》与数组默认值相同
	//public 代表公共的--->谁都可以用    private 私有的--->只能自己用(类的内部使用)
	//成员变量存放在堆内存中
	//成员变量可以被类中的所有方法使用
	//成员变量可以不用初始化,有默认值
	public int age;
	public String name = "tom";
	public int[] score = new int[5];//成员变量
	
	
	//方法的设计
	//方法的动态
	//公式:有返回值       修饰符 返回值类型 方法名(数据类型 参数1,数据类型 参数2.....){语句...... return 返回值}   return 代表方法的结束    返回值必须与返回值类型匹配
	//定义方式时的参数称为形参,使用方法时的参数叫实参
	//参数是方法中的局部变量
	//基本数据类型返回的时值,引用数据类型返回的是地址
	
	public int getAge() {
   
		System.out.println(name);
		//存放在栈内存中
		//只能在方法内使用
		//局部变量必须初始化,否则不能使用
		int a = 10;//局部变量
		System.out.println(a);
		System.out.println("12312");
		return 10;
	}
	
	public String getName() {
   
		System.out.println(name);
		System.out.println("2222");
		return name;
	}
	
	public int[] getScore() {
   
		System.out.println("222222");
		return score;
	}
	
	//无返回值方法:       修饰符 void 方法名(数据类型 参数1,数据类型 参数2.......){语句...... [return;]}
	public void eat() {
   
		System.out.println("吃");
		return;
	}
}

③ 可变参数:方法参数部分指定数据类型的参数是可变的

​ 公式: 修饰符 返回值类型(void)方法名(数据类型…变量名)

//可变参数--就是数组的变种
	//参数列表只能有一个可变参数的变量,而且这个可变参数必须放在列表的最后
	public int add(String b,boolean c,double d,Person e,int ... a) {
   
		int sum = 0;
		for(int i = 0; i < a.length; i++) {
   
			sum += a[i];
		}
		return sum;
	}

④ 参数传递:java中方法的参数传递只有一种:值传递。将实参的副本传入方法中,参数本身不受影响。

⑤ 方法的重载:(同一个类中)方法名必须相同,参数列表必须不同。

1.1.3构造器

也叫构造方法,一个对象只能调用一次。

一个类中至少有一个构造器。

隐式构造器:系统默认提供无参构造器(jvm编译时自动提供)

显示构造器:一旦显示定义了构造器,系统就不再提供无参构造器,需要自己定义。

公式:①无参构造器 :权限修饰符 类名(){super();语句}

​ ②有参构造器:权限修饰符 类名(参数类型 形参1,参数类型 形参2…){super();语句}

作用:初始化类的属性,根据需求创建不同的对象。

//构造器(构造方法)----->用来初始化(属性)
//公式:修饰符 类名(参数列表....){初始化语句.....}
//可以调用本类中的普通方法
//创建对象时,最先调用的就是构造方法
//构造方法只能调用一次
//一个类中必须有构造器,如果一个类中没有构造器,那么系统会默认添加一个无参构造器-->如果显示定义了构造器那么系统无参的就没有了
//潜规则:属性私有化、属性的set和get方法、有参无参构造器
public HelloWorld(int a) {
   
    //属性可以直接初始化,也可以通过构造器初始化
    if(a > 0 && a < 130) {
   
        age = a;
    }
    name = "jack";
    eat();
}

public HelloWorld(String n,int a,int[] s) {
   
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值