示例一: 学生类:掌握定义类和使用类
public class Class1 {
public static void main(String[] args){
//使用类:1.创建对象 类名 变量名=new 类名()
Stu stu1=new Stu();
//2.给属性赋值 点语法
stu1.name="麻麻";
stu1.age=30;
stu1.gender ='男';
// 3.指挥对象干事
stu1.say();
stu1.study();
stu1.sleep();
}
}
//一、定义类:声明类-成员变量(属性)-成员方法(行为)
//二、使用类:在类外 1.创建对象 类名 变量名=new 类名()
class Stu{
//成员属性(即成员变量)
String name;
char gender;
int age;
//behavior成员方法(即行为)
public void study(){
System.out.println(name+" learn java");
}
public void sleep(){
System.out.println(name+" 趴着睡");
}
public void say(){
System.out.println("大家好,我是"+name);
}
}
示例二:手机类:掌握java一个对象与两个对象的垃圾回收机制;类的使用注意事项
//类名第一个字母用大写,第一个字母不能用数字,不推荐用下划线
/*Java的垃圾回收机制:
一个对象:成员方法完了脱栈,再脱对象,再脱main方法
两个对象:成员方法完了脱栈,再脱对象,再脱main方法;先进后出,后进先出*/
/*
1.src:源代码 bin目录:1.写代码 2.编译为.class:字节码文件
2.有多少个类就有多少个字节码文件,在同一个类中只能有一个public 类
3.同一个包内不能有相同的类
*/
public class Mobileclass {
public static void main(String[] args){
Mobilephone phone1=new Mobilephone();
phone1.brand="sanxin";
phone1.price=1288.00;
phone1.call();
phone1.sendMessage();
phone1.playGame();
}
}
class Mobilephone{
double price;
String brand;
boolean isIntelligent;//是否未智能手机
public void call(){
System.out.println("用"+brand+" calling");
}
public void sendMessage(){
System.out.println("用"+brand+" sendMessaging");
}
public void playGame(){
System.out.println("用"+brand+" playing Game");
}
}
示例三:private与封装,set(间接赋值给属性) get方法(间接获取属性的值)
规范:后面一般首字母大写 快捷方式右键Generate 插入
//封装的好处;隐藏具体细节,提供公共的访问方式(public set);提高了代码的复用性和安全性
public class Mobileclass {
public static void main(String[] args){
Mobilephone phone1=new Mobilephone();
phone1.brand="sanxin";
// phone1.price=1288.00;//privat 不能直接访问
phone1.isIntelligent=true;
System.out.println("phone1.isIntelligent "+ phone1.isIntelligent);
phone1.setPrice(2000);
//获取价格
System.out.println("价格"+phone1.getPrice());
phone1.call();
}
}
class Mobilephone{
private double price;//把属性隐藏
String brand;
boolean isIntelligent;//是否未智能手机
public void setPrice(int thePrice){//用void setPrice写set方法
if(thePrice>1000&&thePrice<10000){
//赋值范围,通常用在年龄限制里
price=thePrice;
}
}
public double getPrice(){//无参,没有void 有返回值
return price;
}
public void call(){
System.out.println("用"+brand+" calling");
}
}
//运行结果
phone1.isIntelligent true
价格2000.0
用sanxin calling