2019-03-07类与对象

构造器

import java.util.Random;

public class MethodDome1 {

//特殊方法,构造器(构造方法)

// 1.这个方法名字必须与类名字相同

// 2.没有返回值,没有void

// 3.不能用static修饰

public void MethodDome1() {//普通方法

}

    public MethodDome1() {//构造器不存在重载

System.out.println("123");

}

public static void main(String[] args) {

Random r=new Random();

}

}

创建对象

public class ClassDemoTest2 {

String name;

    public  int getNum() {

      return 1;

    }

public  void show(String n) {

System.out.println(n+"nihao");

}

public double getDouble(double num,double num2){

return num/num2;

}

public static void main(String[] args) {

ClassDemoTest2 cd =new ClassDemoTest2();

            cd.name="张三";

            cd.show(cd.name);

            int num =cd.getNum();

            System.out.println(num);

            double num1=cd.getDouble(5.3, 6.2);

            System.out.println(num1);

}

}

public class ClassDemoTest3 {

public static void main(String[] args) {

//局部变量使用前必须赋值

ClassDemo3 cd= new ClassDemo3();

// 全局变量是有默认值的

// 整型0  浮点型0.0  布尔型 false 字符型\u0000  引用为null

cd.name="张三";

cd.show();

System.out.println(cd.age);

}

}

就近原则

public class ClassDemo4 {

String name;

//  就近原则

public  void show(String name) {

  System.out.println(name);

//  System.out.println(this.name);//谁调用的就是谁

}


  public void test() {

  show("赵六");

  }

}


对象类型的数组

public class ClassDemo6 {

public static void main(String[] args) {

// int num =10;

// int arr[]= {num};

Student s1 = new Student("礼哈","nan",596);

Student s2 = new Student("你","ijjoi",56);

Student s3 = new Student("好","ok",566);

Student s[]= {s1,s2,s3};

    for(Student stu:s) {

    System.out.println(stu.name+stu.gender+stu.age);

      }

}

}

匿名对象

public class Demo1 {

public void test1() {

System.out.println("4554");

}

public void test2() {

System.out.println("444");

}

public static void main(String[] args) {

// 匿名对象,没有名字的对象只能调用一次

// Demo1 d = new Demo1();

// d.test1();

// d.test2();

new Demo1().test1();

new Demo1().test2();

//垃圾回收机制(GC)

// JVM  会把堆中没有引用的对象视为垃圾对象,当这个对象执行玩对应的工作,JVM

//   会自动找到这些垃圾对象调用finalize()进行回收

}

}

this关键字

public class Demo3 {

String name = "554";

//this.:当前类对象

// 1.this.属性名 2. this.方法()

//      this();只能用在构造器中,调用其他构造器

// ,在一个构造器中只能使用一次必须写在第一行

// public void show() {

// String name="李四";

// System.out.println(name);

// System.out.println(this.name);

// }

public Demo3() {

this("李四");

System.out.println("1112");

}

public Demo3(String name) {

this.name  =name;

System.out.println("222");

}

public static void main(String[] args) {

Demo3 d = new Demo3();

System.out.println(d.name);

}

}

封装


ublic class Demo5 {

public static void main(String[] args) {

// java面向对象的特征:继承,封装,多态,

// 抽象(将现实事务抽象为脑中概念模型)

// 封装(hidden):将一套功能组织成一个方法,将一套方法和一套属性组织到一个类,将一套类组织到一个包中

// 访问权限的修饰符:

// 1.public:

//                     公有的,工程可见的,修饰所有的东西 类、方法、属性(全局变量)

// 2.protected (受保护的):    挎包的“亲戚”可见

//                 修饰方法和属性,不可修饰类

// 3.默认的(friendly,default) :  挎包不可见

//                 修饰所有的东西 类、方法、属性(全局变量)

// 4.private(私有的) :当前的类可见

//             修饰方法和属性

//     JavaBean(实体类):

// 1.有无参构造器(必要)

// 2.属性全部私有

// 3.有公有的get()方法和set()方法

}

}

控制台模拟植物大战僵尸

僵尸类

ublic class Zoobie {

  int  hp=500;

  int dps=30;

  public void attack(SunFlower sf) {

  if(hp<=0) {

  System.out.print("僵尸没血了");

  }else {

  //判断向日葵是否有血

  if(sf.hp<=0) {

  System.out.println("对不去向日葵没有血了");

  }

  //僵尸有血,向日葵也有

  else {

  System.out.println("僵尸吗对向日葵已的伤害"+dps);

  sf.hp=sf.hp-dps;

  if(sf.hp<=0) {

  sf.hp=0;

  System.out.println("向日葵死亡");

  return;

  }

  System.out.println("向日葵还剩:"+sf.hp);

  }

  }

  }

public void attack(BeanHunter bh) {

if(hp<=0) {

  System.out.print("僵尸没血了");

  }else {


  if(bh.hp<=0) {

  System.out.println("对不起射手没有血了");

  }

  //僵尸有血,向日葵也有

  else {

  System.out.println("僵尸吗对射手已的伤害"+dps);

  bh.hp=bh.hp-dps;

  if(bh.hp<0) {

  bh.hp=0;  

  }

  System.out.println("射手还剩:"+bh.hp);

  }

  }

      }

  }

向日葵类

public class SunFlower {

int hp = 300;

public void addBuff() {

hp = hp + 20;

if (hp > 300) {

hp = 300;

}

System.out.println("太阳花加血20"+"血量"+hp);

}

}

豌豆射手类


public class BeanHunter {

int hp=200;

int dps=60;

public void attack(Zoobie zb) {

if(hp<=0) {

  System.out.print("射手没血了");

  }else {


  if(zb.hp<=0) {

  System.out.println("对不去僵尸没有血了");

  }


  else {

  System.out.println("射手对僵尸的伤害"+dps);

  zb.hp=zb.hp-dps;

  if(zb.hp<0) {

  zb.hp=0;

  System.out.println("僵尸死亡");

  return;

  }

  System.out.println("僵尸还剩:"+zb.hp);

  }

  }

}

}

启动类


public class Test {

public static void main(String []args) {

Zoobie z = new Zoobie();

SunFlower s=  new SunFlower();

BeanHunter b= new BeanHunter();

while(true) {

if(z.hp<=0) {

System.out.println("植物胜利");

break;

}

if(s.hp<=0 && b.hp<=0) {

System.out.println("僵尸胜利");

break;

}

double random = Math.random();

if(random<=0.3) {

z.attack(s);

}

else if(random<=0.5) {

z.attack(b);

}

else if(random<=0.8) {

b.attack(z);

}else {

s.addBuff();

}

}

}

}

生成一副扑克

public class Poker2 {

  String suit;//花色

  String count;//点数

public void giveMe() {

  String hs[] ={"红桃","黑桃","方片","梅花"};

  String ds[]= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

  Poker2 poke[]=new Poker2[52];

  //遍历对象,取到ds【】和hs【】的组合,生成不同组合,存到

  int x=0;

  for(int i=0;i<hs.length;i++) {

  for(int j=0;j<ds.length;j++) {

  poke[x]= new Poker2();

  poke[x].count=ds[j];

  poke[x].suit=hs[i];


  x++;


  }

  }

  for(Poker2 s:poke) {

  System.out.print(s.suit+s.count+" ");

  }


  }

  public static void main(String []args) {

  Poker2 po=new Poker2();

  po.giveMe();

  }


}

给学员按照成绩排序

学生类及判断成绩的


public class Student {

private String name;

  private int id;

  private int  score;

  public Student() {}

  public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

public Student[] sort(Student s[]) {

for(int i= 1; i<s.length;i++) {

for(int j=0 ;j<s.length-i;j++) {

if(s[j].score<s[j+1].score) {

Student temp;

temp=s[j];

s[j]=s[j+1];

s[j+1]=temp;

}

}

}

return s;

}

}

启动器

public class Test {

public static void main(String[] args) {

Student s1 =new  Student();

s1.setName("一");

s1.setId(1);

s1.setScore(66);

Student s2 =new  Student();

s2.setName("二");

s2.setId(2);

s2.setScore(77);

Student s3 =new  Student();

s3.setName("三");

s3.setId(3);

s3.setScore(88);

Student s4 =new  Student();

s4.setName("四");

s4.setId(4);

s4.setScore(33);

Student stus[]= {s1,s2,s3,s4};

      s1.sort(stus);

//      Student[] ss =s1.sort(stus);

            for(Student sss:stus) {

            System.out.println(sss.getName()+"  "+sss.getId()+" "+sss.getScore());

            } 

      }

}

JavaBean

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容