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

被折叠的 条评论
为什么被折叠?



