JAVA基础学习-复习day08

本文主要复习了JAVA中的面向对象编程,详细介绍了类和对象的概念,强调类作为抽象事物的描述,而对象是类的具体实例。讨论了类的成员包括属性和方法,以及如何实例化对象并调用其属性和方法。此外,还对比了属性与局部变量的异同,并阐述了方法的声明和使用,包括返回值类型、方法名、形参列表和方法体。最后提供了一个计算正方体体积、表面积和周长的练习。
摘要由CSDN通过智能技术生成

JAVA基础学习-复习day08

/*一、面向对象

  • 1、类和对象
  • 类:对一类事物的描述,抽象的概念上的定义;
  • 对象:是实际存在的该类事物的每个个体也称为实例(instance);
  • 面向对象的重点是设计类

  • 设计类,就是设计类的成员

  • 属性=成员变量=field = 域、字段
  • 方法 = 成员方法 = 函数=method
  • 实例化对象=类的实例化=创建对象=实例化一个类,用创建的类
  • 调用对象结构:属性,方法;调用属性:对象.属性
  • 如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性

  • 非static的,意味着,如果我们修改一个对象的属性a,则不影响另一个对象属性a的值。
  • 2、内存解析
  • 3、类中属性的使用
  • 属性(成员变量)VS局部变量

  • 相同点:定义变量的格式,数据类型,变量名=变量值;先声明后使用,变量都有其对应的作用域

  • 不同点:类中声明的位置不同,属性直接定义在类的一对{}中

  •                  局部变量:声明在方法内,方法形参,代码块中,构造形参、构造器中
    
  •                  关于权限修饰符不同,属性可以在声明时指明权限,使用权限修饰符
    
  •                  常用权限修饰符private,public,缺省(不写),protected(封装性)
    
  •                  局部变量不可以使用权限修饰符;
    
  •                  默认初始化:属性根据其类型有默认初始化值0,0.0,;
    
  •                  局部变量 没有初始化值,在调用之前,一定要显式的赋值
    
  •                  特别的局部变量形参调用时,我们赋值即可。
    

*4、类中方法的声明和使用
*>方法:描述类应该具有什么功能
*>比如:math类:sqart()
*public void sleep(int hour)

  • 方法声明:权限修饰符 返回值类型 方法名(形参列表)

  • {
  •  	方法体;
    
  • }
  • 说明:权限修饰符:public,private,缺省,protected—封装性

  • 返回值类型,有返回值,没有返回值;

  • 方法名:属于标识符,遵循取名规则;

  • 形参列表,方法声明可以声明0个1个等…

  • 方法体:具体干什么

  • return关键字的作用:使用在方法体内,结束方法,针对有返回类型的方法

  • 方法的使用:可以调用当前类的属性也可以调用当前类的方法

  • 特殊的方法A中又调用方法A;方法里面不能再定义一个方法

  • 5、练习;1、计算正方体的体积表面积周长;
  •                   2、打印一个10行8列的*矩形,在main方法中调用该方法
    
  •                   3、修改上一个程序,在method方法中,除打印一个10*8的矩形外,再计算该矩形的面积
    
  •                          并将其作为方法返回值,在main方法中调用该方法,接收返回的面积值并打印。
    
  •                   4、修改上一个程序,在method方法提供m和n两个参数,方法中打印一个m*n的*矩形
    
  •                           并计算该矩形的面积,将其作为方法返回值,在main方法中调用该方法,接受返回的面积值并打印
    

*/

package javaRe.day;
public class Persontest1 {
		public static void main(String[] args) {
			//创建一个对象;
			Person per =  new Person();
			//调用对象结构:属性,方法
			//调用属性:对象.属性
			per.name = "tom";
			per.isMale = true;
			per.talk();
			per.eat();
			per.sleep();
			//调用方法:对象.方法
			System.out.println(per);
			User user = new User();
			user.talk("日语");
			Person person = new Person();
			person.name = "tom";
			person.sex = 1;
			person.age = 19;
			
			person.study();
			person.showAge();
			int newAage = person.addAge(8);
			System.out.println("newAge:" + newAage);
			
			tg tt = new tg();
			System.out.println(tt.zhouchang(3, 5, 6));
			System.out.println(tt.Aera(5, 5, 3));
			
	}
	
}

class Person{
	
		int age = 1;
		String name;
		boolean isMale;
	public void eat() {
		System.out.println("人可以吃饭");
		
	}
	public void talk() {
		System.out.println("人可以说话");
		
	}
	public void sleep() {
		System.out.println("人可以睡觉");
		
	}
}

class User{
	String name;
	int age;
	boolean isMale;
	public void talk(String language) {
		//language是形参,也是局部变量
		System.out.println("我们使用" + language + "进行交流");
	
	}
	public void eat() {
		String food = "大饼";//局部变量
		System.out.println("北方人喜欢吃:" + food);
		
		
	}
	
	
	
}
//创建一个客户类
class Customer{
	String name;
	int age;
	boolean isMale;
	
	
	public void sleep(int hour) {
		
		
	}
	public String getName() {
		return name;
		
	}
	public String getNation(String nation) {
		return nation;
		
	}
	public void eat() {
		
	}
}


class Person{
	String name;
	int age;
	int sex;
	public void study() {
		System.out.println("好好学习");
		
	}
	public void showAge() {
		System.out.println("age:" + age);
		
	}
	public int addAge(int i) {
		age += i;
		return age;
		
		
	}
}


//练习,创建一个长方体类

class tg{
	public int zhouchang(int i,int j ,int k) {
		int zhouchang_1 = (i+j+k)*4;
		return zhouchang_1;
	}
	public int Aera(int i,int j,int k) {
		int aera = i*j*4+i*k*2;
		return aera;
		
	}
	
}

package javaRe.day;
public class testPra {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Squar squar = new Squar();
		//squar.madeSquar();
		//System.out.println(squar.method());
		System.out.println(squar.method(5, 8));
		/*
		Student[] students = new Student[20];
		for(int i=0;i<20;i++)
		{
			students[i] = new Student();
			students[i].grade = (int) (Math.random()*(6-1+1)+1);
			students[i].id = (i+1);
			students[i].score = (Math.random()*(100-0+1));
		}
		for(int i=0;i<20;i++)
		{
			System.out.println(students[i].id + students[i].grade + students[i].score);
		}
		*/
	}

}

class Squar{
	public void madeSquar() {
		
		for(int i = 0; i<8;i++)
		{
			for(int j =0;j<10;j++)
			{
				System.out.print("  *  ");
			}
			System.out.println();
		}
		
	}
	public int method(int m,int n) {
		//int aera = 8*10;
		//System.out.println(aera);
		//return aera;
		for(int i = 0; i<m;i++)
		{
			for(int j =0;j<n;j++)
			{
				System.out.print("  *  ");
			}
			System.out.println();
		}
		int aera2 = m*n;
		return aera2;
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值