JAVA面向对象小知识一起学!!!

面向对象

一、类和对象的概念

1.类和对象是面向对象方法的核心概念。类是抽象的,对象是实际存在的,也称实例。对象内容放在堆内存,对象名放在栈内存。
2.类的语法结构

[修饰符] class 类名
{
  定义构造方法;
  定义属性;
  定义方法;
}

提示:上述代码中的修饰符可以是public、final、abstract或者完全省略
3.对象创建及使用

(1)声明对象

类名 对象名

(2)实例化对象.

 对象名 =  new 构造方法()

a 、属性调用

对象名.属性

b、方法调用

对象名.方法名([参数])

示例:

public class Hero {
	String name;
	int age;
	char sex;
	public void run(int speed) {
		System.out.println(speed+"m/s的速度飞速狂奔");
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Hero hero1 = new Hero();
		hero1.name="黑暗游侠";
		hero1.age=20;
		hero1.sex='M';
		System.out.println("英雄的姓名:"+hero1.name);
		System.out.println("英雄的年龄:"+hero1.age);
		System.out.println("英雄的性别:"+hero1.sex);	
		hero1.run(30);//使用该对象调用run()方法
	

	}

}

在这里插入图片描述

二、方法使用

1.方法声明

代码如下(示例):

[<修饰符>]<返回类型><方法名> ([参数列表])
{
 方法体
}

说明:
1.修饰符有private、缺省访问修饰符、protected和public
2.方法不能在方法中再声明其他方法

public class Hero {
	String name;
	int age;
	public void battle() {
		System.out.println(name+"在肆无忌惮的战斗,他的年龄只有"+age+",可他的血量只有1%了...");
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Hero hero1 = new Hero();
		hero1.name="黑暗游侠";
		hero1.age=15;
		hero1.battle();
			}
}

在这里插入图片描述

2.方法参数传递

代码如下(示例):

public class Parameter {
 //该方法用于在方法中互换形参值
 public void change(String x,String y){
  String temp;//定义一个临时变量
  System.out.println("***形参改变之前***");
  System.out.println("x="+x+"\t"+"y="+y);
  //形参值互换
  temp=x;//将x值赋值给变量temp
  x=y;//将变量y值赋值给变量x
  y=temp;//将temp值赋值给变量y
  System.out.println("***形参值互换后***");
  System.out.println("x="+x+"\t"+"y="+y);
 }
 public static void main(String[] args){
  Parameter param=new Parameter();//创建Parameter实例
  String a="10",b="20";
  System.out.println("---调用change()方法前---");
  System.out.println("a="+a+"\t"+"b="+b);
  param.change(a, b);//调用方法
  System.out.println("---调用change()方法后---");
  System.out.println("a="+a+"\t"+"b="+b);
 }
}
 

分析

分析:
调用方法之后,a、b的值仍然为10和20
即使形式参数的值改变了,但实际参数的值不会改变

三、可变形参方法

1.可变方法声明

[<修饰符>]<返回类型><方法名>(变量类型...变量名){方法体}

说明:
"…“表示定义参数类型的方式,再变量类型和变量名之间使用
可变参的特点:
1.只能出现在参数列表的最后
2.”…"前后有无空格都行

2.可变形参与数组参数的不同

a.定义方式不一样

public static void testVarargs(String…users)//可变形参
public static void testArray(Stringll users)//数组形参

b.调用方式不一样

testVarargs(“张小文”,”王艺儒”,“李晨生”;//可变形参
testArray(new String[] {“张小文”,“王艺儒”,“李晨生”});//数组形参

c.参数位置不一样

数组形式的参数可位于形参列表的任意位置,形参处于形参列表的最后(即一个方法中最多只能有一个个数可变的形参)。

四、构造方法

1.定义

  • 构造方法是一种特殊的方法
  • 它是一个与类同名且返回值类型为同名类类型的方法

2.特点

  • 构造方法的命名必须和类名完全相同。普通方法可以和构造方法同名,但是必须带返回值。
  • 不能直接调用,必须通过new运算符在创建对象时才会自动调用

总结

  • 类是一个具有自身属性和行为的独立单位。方法的四个要素是:方法名、参数列表、返回类型和访问修饰符
  • 构造方法是一类名称与类同名,且没有返回类型的特殊方法
  • 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化
  • 使用“对象名.属性”引用属性,以及“对象名.方法(参数列表)”调用方法
  • 如果在定义方法时,在最后一个形参的类型后增加三点“…”,则表明该形参
  • 可以接受多个参数值,多个参数值被当成数组传入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值