package java_5_9;
/*
* @Description:
* @Author: Rainbow
* @version:v1.0
* @date:2021年5月10日下午1:43:58
*
* class 是Java的精华,类定义了对象的本质,形成了Java面向对象程序设计的基础。
* 面向对象的三大特性:封装、继承、多态性。
* 封装:一种将代码与它所处理的数据结合起来,而不被外界干扰和滥用的程序设计机制。
* 继承:是一个对象获得另一个对象的属性的过程。并支持结构层次类的概念。
* 多态性:是一种允许使用一个接口来访问一类动作的特性。
* 类封装了功能。由类构造对象的过程称为创建类的实例。
* 类是定义对象形式的模板,指定了数据以及操作数据的代码。
* Java使用类的规范来定义对象(object),对象是类的实例(instance)。
* 组成类的方法和变量都称为类的成员(member)。
* 每次在创建类的实例化时,都是在创建一个对象。在类的实例化之前,需要类的数据类型声明。
*
* new 运算符 可以把内存中闲置的空间分配给对象。
* new 出来的内存,Java中的垃圾回收会自动回收对象,Java使用一种更方便的方法-垃圾回收GC。
* 垃圾回收器满足的条件,有对象要回收、需要回收这些对象释放空间。
*/
//汽车类的声明
class Vehicle{
int passenger;// number of passengers
float fuecap;// fuel capacity in gallons
int mpg;// miles of gallons
//更好的方法,将rang 封装在 Vehicle 类中。向 Vehicle类中,添加一个计算里程的方法。
void range() { //不带返回类型的
System.out.println("Range is "+fuecap*mpg+"KM");
}
int rang_return() { //带返回类型的
return (int)fuecap*mpg;
}
double fueneeded(int miles) {
return miles/mpg;
}
}
//使用形参(parameter),方法传递的称为实参(argument).
//判断是否是偶数的类的声明
class ChkNum{
boolean isEven(int x) {
if(x%2==0) return true;
else return false;
}
}
//构造函数 MyClass
class MyClass{
int x,y,z;
MyClass(int u){
x=10;
y=100;
z=u;
}
}
//类的实例化对象
public class class_object_instance {
public static void main(String[] args){
Vehicle mini=new Vehicle();
float range1;
double gallons;
int distance=500;
mini.passenger=5;
mini.fuecap=15.5F;
mini.mpg=2;
range1=mini.fuecap *(float) mini.mpg;
System.out.println("mini can carry "+mini.passenger+" preson"+
" with a rang of "+range1+" kilometers!");
System.out.println("can carry"+mini.passenger+".");
mini.range();
gallons=mini.fueneeded(distance);
System.out.println(distance+" need fule is "+gallons+"gallons");
//两个类都是同一类型的,实例出的两个对象的内容互不相干,数据是完全分开的。
//mini 小汽车和 sportscar 跑车 都属于汽车这个类。但是属于不同的车型。
Vehicle sportscar=new Vehicle();//new 运算符为对象动态分配内存,在Java中必须
float range2; // 动态分配所有的类对象。
sportscar.passenger=2;
sportscar.fuecap=20.0F;
sportscar.mpg=3;
range2=sportscar.fuecap*(float)sportscar.mpg;
System.out.println("mini can carry "+sportscar.passenger+" preson"+
" with a rang of "+range2+" kilometers!");
sportscar.range();
//传参
ChkNum n=new ChkNum();
if(n.isEven(20)) System.out.println("20 is even!");
if(n.isEven((101))) System.out.println("101 is even!");
if(n.isEven(900)) System.out.println("900 is even!");
//构造函数(形式参数可有)
MyClass m1= new MyClass(500);
System.out.println("x= "+m1.x+" y= "+m1.y+" z="+m1.z);
}
}
Java_class 类/对象/方法
最新推荐文章于 2024-07-22 14:15:06 发布