JavaSE基础03

方法

1.定义:实现一个功能的代码片段的封装
[修饰符....]返回值类型  方法名称(形参的列表){
   //方法中实现的逻辑
  }
2.方法的访问:
对象.方法

3.形参列表:方法接收外部传入的数据的接收媒介
*当我们定义了一个方法之后去调用方法的时候,一定要注意我们传递给方法的入参类型和数量一定要一一对应。

4.返回值: 方法执行结束之后,返回的值的类型。
* 如果方法不需要返回任何的值,那么我们的方法返回的类型写作void。
  在方法里返回一个值,需要用到return。

5.唯一确定一个方法关注点:
a、方法名是否一致
b、形参列表的所有参数类型和数量是否一致,对于形参列表变量的命令完全是没有关系的。
c、返回值的类型(可以是基本类型可以是引用类型)
注意:一旦明确指定了方法的返回类型(非void),那么一定要保证最终方法可以成功的返回我们对应的返回类型数据。
         关于void返回类型
         如果我们不主动添加return语句,在执行的时候,也会帮我们自动添加return,我们在实现void类型方法的时候,主动添 加一个return也没有问题。
6.方法参数的传递:
方法参数的传递来说,基本类型传递的是值;对于引用类型,传递的是引用(地址)。

package practice;
public class practice {
	public static void main(String [] args){
		char gread = test ('A');
	}
	public static char test (char gread){  //定义一个方法
		switch(gread){
		case 'A':
			System.out.println("优秀");
			break;
		case 'B':
			System.out.println("良好");
			break;
		case 'C':
			System.out.println("合格");
			break;
		default :
			System.out.println("不合格");
		}
		return gread;  //非void类型要保证最终方法可以成功返回对应返回类型的数据
	}
}

方法重载 overload

a、对于同名的方法,具有不同的参数列表,我们在访问的时候,通过调用方法传入不同的参数列表,就可以找到我们特定的方法。

b、当我们定义多个重载方法的时候,在编译阶段的话,编译器可以根据我们方法形式参数数量以及类型来区别不同的方法,执行阶段可以根据我们调用的时候传入形参列表,仅仅拥有不同返回值类型是不被视为重载的。


类(封装对象属性和行为的载体)

1.类是对象的类型,具有相同属性和方法的一组对象的集合。

2.类主要由两部分组成:成员变量和方法

3.成员变量:

[修饰符……] 类型 名称 = 默认值

成员变量的访问:

对象.成员变量

4.局部变量:

方法中定义的变量或者是方法的形式参数

注意:

* 对于java来说作用于控制是通过块来控制的。块:一对“{}”包裹起来的代码片段称为一块。

* 对于某个块内定义变量:

a、对于当前的块,不能再定义同名的变量,即使类型不同也不行。

b、对于当前的块,定义了某个变量,在块外不能访问到块中定义的变量。

* 如果存在块的嵌套,那么外层定义的变量在内存是可以访问到的。

5.同一个类的每个对象有不同的成员变量存储空间,同一个类不同的对象共享该类的方法。


6.类的构造方法:(特殊的方法)

构造方法没有返回值。

构造方法的名称要与本类名称相同。

格式:

public book(){

 //构造的方法体

}

* 构造方法不需要void关键字进行修饰

  在new(创建一个对象)的时候,一定去调用它的构造方法,但是如果我们没有自己添加自己定义的构造器的话,编译器会给我们添加一个默认的构造器,如果我们主动添加了一个默认构造器,那么在创建对象的时候,通过new 类名( );会调用我们自己添加的默认构造器。

  当我们主动添加了一个包含参数的构造器,并且没有主动添加默认构造器,则再通过new 类名(),就会遇到编译问题。

package practice;

public class ClassDemo {
	int a ;
	int b ;
	ClassDemo(int parmA,int parmB){
		a = parmA;
		b = parmB;
		System.out.println("constructor");
	}
	//添加默认构造器
	ClassDemo(){
		System.out.println("default constructor");
	}
	void setA(int parmA){
		a = parmA;
		
	}
	void setB(int parmB){
		b = parmB;
	}
	int getResult(){
		return a+b;
	}
public static void main(String[] args){
	ClassDemo demo1 = new ClassDemo();
//	ClassDemo demo2 = new ClassDemo();
	System.out.println(demo1.getResult());


}
}

7.类的继承(extends)

格式:

[修饰符]class 子类名 extends 父类名{

  类体

}

a、修饰符:可选参数,用于指定类的访问权限,可选值为public,abstract和final。

b、子类名:必选参数,用于指定子类的名称,类名必须是合法的Java标识符。一般情况首字母大写。

c、extends父类名:必选参数,用于指定要定义的子类继承于哪一父类。

例如:

父类Bird

public class  Bird{
String color = “白色” ;
String skin = “羽毛”;
}

子类Pigeon

public class Pigeon extends Bird{   //类的继承
  public static void mian(String [] args){
     Pigeon pigeon = new Pigeon();
     System.out.println(pigeon.color);
}
}


对象(将类实例化后出现对象)

1.Java中所有问题都通过对象来处理,对象可以操作类的属性和方法来解决问题。

2.Java为什么使用面向对象?

a、程序的本质

b、编程语言的发展一直在追求更易于开发的方式

c、复用

d、分装

e、高维护性和可读性

3.用new来创建对 象 如:Test test = new  Test();

* test对象被创建出来时,test对象就是一个对象的引用,这个引用在内存中为对象分配了存储空间,可以在构造放法时初始化成员变量,当创建对象时,自动调用构造方法,也就是说在java中初始化与创建时捆绑在一起的。

* 每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,对象变成了垃圾,由java虚拟机自带的垃圾回收机制处理,不能再被使用。

* 通常将对象划分为两部分,即动态部分与静态部分(即属性和行为)
package practice;

public class Person {
	int age ;
	int height;
	int weight;
	boolean sex;
	Person(int ageparm,int heightparm,int weightparm,boolean sexparm){
		//变量初始化
		age = ageparm;
		height = heightparm;
		weight = weightparm;
		sex = sexparm;
	}
	void getSex(){   //创建一个方法
		if(sex){
			System.out.println("男");
		}else{
			System.out.println("女");
			
		}
	}
public static void main(String[] args){
	Person green = new Person(40,170,65,false);//  创建一个green对象
	green.getSex(); //调用getSex这个方法
  }
}





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值