/*
今天学习的是类和对象
类是通过对事物进行区分,之后对其共性进行了向上的抽取之后分成了一个个的类。
事物有属性和行为
类有成员变量和成员方法
调用格式:
对象名.成员变量;
对象名.成员方法;
***注意***:
不是类名,而是对象名,若要使用类名直接调用的话,要使用到static关键字(之后会讲到)。
对象是类的一个具体的实例,可以通过类来创建
创建的基本格式:
类名 对象名 = new 类名();
完整格式(之后会讲到):
类名 对象名 = new 类名(参数列表);
参数类表参照构造函数
简写格式(匿名对象):
new 类名().方法名();
这一般用作对象只调用一次的时候。
***注意点***:
局部变量和成员变量的区别:
1, 局部变量定义在方法或者代码块中
成员变量定义在类中,方法和代码块之外
2, 局部变量的作用域为方法中
全局变量的作用域为对象中
3, 局部变量在内存中的栈内存中,速率较快,随着方法的调用和调用完毕而存在与消失
全局变量在堆内存中,速率较慢,随着对象而消失和存在
4, 局部变量必须初始化其值才能使用
全局变量可以不需要初始化其值而直接使用,因为其有默认初始化值
总结的书面内容比较少,我通过案例来总结一下,加点注释可以更通俗易懂一点。
案例:
A:学生类
B:手机类
C:汽车类(内存图)
D:长方形类
从四个案例中A、B、C、D中方法的区别可以看出,
(A、C中的方法都带参,B、D重点额方法都不带参)
当类中的方法在其方法内和参数列表中都找不到要使用的变量的时候,
就会使用对象中的成员变量,若再找不到就会报错。
*/
package com.itheima.javaday6;
class Demo
{
public static void main(String[] args){
Student stu = new Student();
stu.study("涛仔");
stu.eat("静静",'男');
System.out.print("我们需要");
stu.sleep();
System.out.println("------------------------------");
Phone p1 = new Phone();
p1.brand = "苹果";
p1.price = 6688;
p1.color = "白色";
p1.call();
p1.sendMessage();
p1.playGames();
System.out.println("------------------------------");
Car car = new Car();
car.brand = "奔驰";
car.price = 1000000;
car.color = "黑色";
car.run(car.brand);
car.stop(car.color,car.price);
System.out.println("------------------------------");
Rectangle1 rec = new Rectangle1();
System.out.println(rec.perimeter());
System.out.println(rec.area());
rec.length = 5;
rec.width = 3;
System.out.println(rec.perimeter());
System.out.println(rec.area());
}
}
/*
A:学生类
首先要思考这个对象中你要用到底的变量和方法
属性(变量):
姓名,学号,年龄,性别...
方法(行为):
学习,吃饭,睡觉...
*/
class Student
{
/*
属性(变量):
姓名,学号,年龄,性别
用的类型String int int char
*/
String name;
int StuID;
int age;
char sex;
public void study(String name){
System.out.println(name+"正在好好学习。。。");
}
public void eat(String name,char sex){
System.out.println(name+"是"+sex+"生,所以饭量大啊。。。");
}
public void sleep(){
System.out.println("早睡早起。。。");
}
}
/*
B:手机类
请根据下面对手机的描述,定义出类,并创建对象,最终通过对象调用方法。
属性:品牌(brand)、价格(price)、颜色(color)
行为:打电话(call)、发短信(sendMessage)、玩游戏(playGame)
*/
class Phone
{
String brand;
int price;
String color;
public void call(){
System.out.println("打电话。。。说我的手机是 "+
brand+" 牌的,"+"买的时候用了 "+price
+" 块钱,是 "+color+" 的");
}
public void sendMessage(){
System.out.println("发短信。。。");
}
public void playGames(){
System.out.println("玩游戏。。。");
}
}
/*
C:汽车类
属性:品牌(brand)、价格(price)、颜色(color)
行为:跑、停
*/
class Car
{
String brand;
int price;
String color;
public void run(String brand){
System.out.println(brand+"刚从我们眼前彪了过去");
}
public void stop(String color,int price){
System.out.println("这车一停下来,我们就可以看到它是"+color+"的,价格我们猜应该有"+price);
}
}
/*
定义一个长方形类,在这个类中定义两个功能:
计算长方形的面积,周长。
*/
class Rectangle1
{
int length;
int width;
public int perimeter(){
return (length+width)*2;
}
public int area(){
return length*width;
}
}
|
|