疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java类与对象


 

    生活中的类和对象有很多,大家都能清楚的分别,简单来说,对象 具有唯一性!

  例如,把笔列为一个类,因为笔的种类太多,有钢笔,铅笔,圆珠笔 而这些还不是一个对象,这些都没有唯一性,那什么样的事物才有唯一性

  呢?例如说你手中拿着的一支笔,这支笔就是一个对象,它特指你手中的 那一只笔,例如你正在使用的电脑,也会一个对象,都有唯一性。

  现在确定一下JAVA中的类,类是用来涵盖某一系列事物的共同特点或行为的总称,而把共同特点叫做属性,共同的行为加做方法。而对象 是指具有这些属性或方法的个体。

  1.类与对象的格式:

  定义类的格式:

  访问修饰符:public,protected,private,默认的

  public class 类名 {

  访问修饰符 数据类型 属性名;

  访问修饰符 构造方法名[类名](数据类型 参数名形参,...){

  //方法体

  }

  访问修饰符 返回值数据类型 方法名(数据类型 参数名形参,...){

  //方法体

  }

  }

  实例化对象的格式:

  实例化对象的格式:

  类名 对象名 = new 类名();

  类名 对象名 = new 构造方法();

  调用方法的格式:

  对象名.方法名(参数值实参);

  2.构造方法

  JAVA中都有自带的构造方法,一般是无数参的。在默认构造方法

  不能满足我们的需要时则要重新编写方法,这就是构造方法。

  与默认的构造方法的区别:

  1.方法名

  2.参数

  3.作用上

  有的情况一个构造方法不能满足需求,则在构造其他的方法这叫方法重载

  重载的要求:

  1.方法名必须要完全相同;

  2.方法所带的参数个数,类型,顺序这三个至少要有一个不同。

  怎么调用方法,根据参数来决定

  以下为示范代码:

  要求奥特曼通关,打小怪兽升级,然后与BOSS对决,谁的血量为0,谁就输!!!

  奥特曼类:

  public class aoteman {

  private String name;

  private int xueliang;

  private int gongjili;

  private int fangyuli;

  public void setName(String name){

  this.name=name;

  }

  public String getName(){

  return name;

  }

  public void setgongjili(int n){

  }

  public int getgongjili(int n){

  return n;

  }

  public void setfangyuli(int n){

  }

  public int getfangyuli(int n){

  return n;

  }

  public void setxueliang(int n){

  }

  public int getxueliang(int n){

  return n;

  }

  public void gongji1(){

  System.out.printf("奥特曼攻击BOSS!!!");

  }

  public void gongji(){

  System.out.printf("奥特曼攻击小怪!!!");

  }

  }

  小怪兽类:

  public class xiaoguai {

  private String name;

  private int xueliang;

  private int gongjili;

  private int fangyuli;

  public void setName(String name){

  this.name=name;

  }

  public String getName(){

  return name;

  }

  public xiaoguai(String name){ //方法构造

  this.name=name;

  }

  public xiaoguai(){ //方法重组

  }

  public void setgongjili(int n){

  }

  public int getgongjili(int n){

  return n;

  }

  public void setfangyuli(int n){

  }

  public int getfangyuli(int n){

  return n;

  }

  public void setxueliang(int n){

  }

  public int getxueliang(int n){

  return n;

  }

  public void gongji(){

  System.out.printf("小怪攻击奥特曼!!!");

  }

  }

  BOSS类:

  public class guaishou {

  private String name;

  private int xueliang;

  private int gongjili;

  private int fangyuli;

  public void setName(String name){

  this.name=name;

  }

  public String getName(){

  return name;

  }

  public void setgongjili(int n){

  }

  public int getgongjili(int n){

  return n;

  }

  public void setfangyuli(int n){

  }

  public int getfangyuli(int n){

  return n;

  }

  public void setxueliang(int n){

  }

  public int getxueliang(int n){

  return n;

  }

  public void gongji(){

  System.out.printf("怪兽攻击奥特曼!!!");

  }

  }

  开始测试类:

  public class MainTest {

  public static void main(String[] args) {

  xiaoguai b1 = new xiaoguai("喽喽1");

  xiaoguai b2 = new xiaoguai();

  b2.setName("喽喽2");

  b2.setgongjili(10);

  b2.setfangyuli(10);

  b2.setxueliang(30);

  int[] a = new int[4];

  int[] b = new int[4];

  int[] c = new int[4];

  int[] d = new int[4];

  b1.setgongjili(10);

  b1.setfangyuli(10);

  b1.setxueliang(30);

  aoteman a1 = new aoteman();

  a1.setgongjili(30);

  a1.setfangyuli(10);

  a1.setxueliang(150);

  guaishou c1 = new guaishou();

  c1.setName("BOSS");

  c1.setgongjili(20);

  c1.setfangyuli(20);

  c1.setxueliang(100);

  b[1] = b2.getgongjili(20);

  b[2] = b2.getfangyuli(10);

  b[3] = b2.getxueliang(30);

  a[1] = a1.getgongjili(30);

  a[2] = a1.getfangyuli(10);

  a[3] = a1.getxueliang(100);

  c[1] = b1.getgongjili(20);

  c[2] = b1.getfangyuli(10);

  c[3] = b1.getxueliang(30);

  d[1] = c1.getgongjili(20);

  d[2] = c1.getfangyuli(20);

  d[3] = c1.getxueliang(100);

  int e = 0;

  for (int i = 1; i < 2;) {

  a1.gongji();

  b[3] = b[3] - a[1] + b[2];

  b1.gongji();

  a[3] = a[3] - b[1] + a[2];

  if (b[3] <= 0) {

  e = 3;

  System.out.println("小怪兽被解决!!!");

  break;

  }

  if (a[3] <= 0) {

  e = 2;

  System.out.println("奥特曼被解决!!!");

  break;

  }

  }

  if (e == 3)

  for (int i = 1; i < 2;) {

  a1.gongji();

  c[3] = c[3] - a[1] + c[2];

  b1.gongji();

  a[3] = a[3] - c[1] + a[2];

  if (c[3] <= 0) {

  System.out.println("小怪兽被解决!!!");

  e = 3;

  break;

  }

  if (a[3] <= 0) {

  System.out.println("奥特曼被解决!!!");

  e = 2;

  break;

  }

  }

  if (e == 3) {

  System.out.println("奥特曼升级");

  a[1] = 35;

  a[2] = 25;

  a[3] = 110;

  }

  if (e == 3)

  for (int i = 1; i < 2;) {

  a1.gongji1();

  d[3] = d[3] - a[1] + d[2];

  b1.gongji();

  a[3] = a[3] - d[1] + a[2];

  if (d[3] <= 0) {

  e = 1;

  System.out.println("BOSS被解决!!!");

  break;

  }

  if (a[3] <= 0) {

  System.out.println("奥特曼被解决!!!");

  e = 2;

  break;

  }

  }

  if (e == 2)

  System.out.println("奥特曼败北!!!");

  }

  }

  以上代码为个人书写如有雷同不胜荣幸,如果有兴趣可以多加属性让战斗更精彩!!!