为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季

小慕 JAVA开发工程师
难度入门
时长 4小时 0分
学习人数
综合评分9.57
2068人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.4 逻辑清晰
  • 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量 2.在普通成员方法中,则可以直接访问同类的非静态变量和静态变量 3. 静态方法中可以直接调用静态方法,但不能直接调用非静态方法,需要通过对象来访问非静态方法 4.注意main函数是一个静态函数
  • 封装的信息的类的名字是冲突的 java中包的作用: 1.管理java文件 2.管理同名文件冲突 加上不同的包来区分相同文件名的类 包的定义:packege,包名间可以用点来区别文件夹 且要放在java程序的第一行 类名相同的可以用包名来区分 java.lang.(类) 放置java语言基础类 java.util.(类)放置java语言工具类 java.io.(类)包含输入输出相关功能的类 用import来显示在某个文件中的其他文件中的类 在包中不能存放相同名字的类 默认情况下会把同一个包名导入进来 包 名全部是小写
  • 继承的初始化顺序: 1.初始化父类再初始化子类。 2.先执行初始化对象中的属性,再执行构造方法中的初始化。 父类对象-->属性初始化--->构造方法 子类对象-->属性初始化--->构造方法
    04:42
    看视频
  • 多态就是老爸可以打自己,老爸可以打儿子,但是儿子不能打老爸,并且老爸不能打儿媳。
  • 如何定义一个类: 1.类的重要性:所有java程序都是以类class为组织单元的,是基本元素。 2类是模子,确定对象将会拥有什么样的特征(属性)和行为(方法)。先有类才能够描述具体对象。 3类的组成:属性和方法 4定义一个类的顺序: a.定义类名:publi class 类名{内容},class是定义类的关键字。 b.编写类的属性:在{}内定义不同的属性类型,可以是一种可以是N种。 c.编写类的方法:可以多种行为,可以一种。
  • http://www.imooc.com/article/17384,这个是我写的代码,里边用注释标注了大致的思路,另外还有改进版的程序,有什么问题可以留言一起讨论下。有初学java的加关注一起学习啊
  • 1.包的作用: 管理java文件 解决同名文件冲突 2.定义包:package包名 注:必须放在java源程序的第一行 包名间可以使用"."号隔开 eg:com.imooc.MyClass 3.系统中的包 java.(功能).(类) java.lang.(类)包含java语言基础的类 java.util.(类)包含java语言中各类工具类 java.io.(类)包含输入、输出相关功能的类 4.包的使用 1)可以使用import关键字,在某个文件使用其他文件中的类。 import com.imooc.music.MyClass 2)java中,包的命名规范是全小写字母拼写 3)使用的时候不但可以加载某个包下的所有文件 eg:com.imooc.* 也可以加载某个具体子包下的所有文件 eg:com.imooc.music.*
  • equals()----返回值是布尔类型 比较的是对象的引用是否指向同一块内存地址-------对象实例化时,即给对象分配内存空间 使用方法如:dog.equals(dog2); 如果是两个对象,但想判断两个对象的属性是否相同,则重写equals()方法 1.地址是否相同----if (this == obj) 2.对象是否为空----if (obj == null) 3.getClass()可以得到类对象,判断类型是否一样-----if (getClass() != obj.getClass()) new出来的是类的对象,关注的是类的属性的具体的数据; 类对象是类的代码信息,关注的是类有什么属性和方法 4.属性值是否一样----if (age != other.age)
  • Dog dog = new Dog() //等号左边代表:子类 的 引用,即子类Dog的引用dog //等号右边代表:创建一个子类Dog的对象 //综合表示:用一个子类(Dog)的引用(dog)来指向所创建的子类对象,可以把dog看成对象 Animal animal = dog;//用父类的引用animal来指向对象dog,相当于自动类型提升or向上类型转换 Dog dog2 =(Dog)animal;//将父类引用animal转换成子类引用dog2,加(Dog)强制转换、也叫向下类型转换 Cat cat =(Cat)animal;//虽然编译用Cat类型不会出错,但是运行的是Dog类型会出错.因为我们真正开辟的Dog类型,而运行时程序发现2个类型不匹配,因此会报错
    05:57
    看视频
  • 为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。 其实使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,但是如果我们不需要解决多重继承问题,那么我们自然可以使用其他的编码方式,但是使用内部类还能够为我们带来如下特性(摘自《Think in java》): 1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。 2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。 3、创建内部类对象的时刻并不依赖于外围类对象的创建。 4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。 5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。
  • 成员内部类用法注意: 1. 内部类访问外部类的属性、方法: 内部类可以直接访问外部类属性、方法,如重名,必须通过 外部类名.this.数据 来访问。 2. 外部类访问内部类的属性、方法: 外部类不能直接访问内部类属性、方法,必须先创建内部类对象,然后通过对象来访问。 3. 创建内部类对象: 外部类或其余内部类创建内部类对象:直接new 其余类创建内部类对象:必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( )。
  • 睿智狂人 1、创建两个接口(载客接口A-载客量)、(载货接口B-载货量),载客和货接口C extend 载客接口A,载货接口B(载客量、载货量),一个抽象父类Car(车型、单价-->元/天); 2、实现-卡车类 extend 父类Car implement 载货接口B; 实现-客车类 extend 父类Car implement 载客接口A; 实现-皮卡类 extend 父类Car implement 载客和货接口C; 3、租车系统类:一维数组 实例化 卡车对象、客车对象 和 皮卡对象; 4、客户选车、分类汇总车辆后,输出租车明细与总价。
  • 本节视频比较详细地介绍了UML的基本概念,POWER DESIGNER的使用方法。 UML简介: 1、Unified Modeling Language,统一建模语言/标准建模语言,是支持模型化和软件系统开发的图形化语言;是一个支持模型化和软件系统开发的图形化语言;为软件开发的所有阶段提供模型化的可视化支持 2、用例图:可视化表达系统如何满足业务规则和特定的用户需求; 3、序列图:表述计算机角色和相互关系,按照交互发生的顺序显示对象之间的交互; 4、类图/类别图:描述类之间的关系,类中的属性和方法; 5、UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构;
  • private 同类 默认 同类 同包 protecte 同类 同包 子类 public 同类 同包 子类 其他
    00:43
    看视频

    1. car类
      public abstract class Car {
          protected int type=0;//車的類型 1載貨 2 載客 3 載貨載客都有
          protected int id=0;//車編號
          protected String name="";//車名稱
          protected int carryWeight=0;//車的載重量 5T 輕型 5T-20T重型
          protected int carryPeople=0;//載客量 小客車5人以下 大客車10人以上
          protected int rent=0;//租金 每天
      
          public int getRent(){
              return this.rent;
          }
          public String getName(){
              return this.name;
          }
          public int getCarryPeople(){
              return this.carryPeople;
          }
          public int getCarryWeight(){
              return this.carryWeight;
          }
      
          public void setArg(int type,int id,String name,int carryWeight,int carryPeople,int rent){
              this.type=type;
              this.id=id;
              this.name=name;
              this.carryWeight=carryWeight;
              this.carryPeople=carryPeople;
              this.rent=rent;
          }
      
          public abstract void  show();
      
      }


    2. public class PeopleCar extends Car {
      
          public PeopleCar(int id,String name,int carryPeople,int rent){
              setArg(2,id,name,0,carryPeople,rent);
          }
          public  void  show(){
              System.out.println(this.id+".     \t"+this.name+"     \t"+this.rent+"元/天 \t"+ "載人:"+this.carryPeople+"人");
          }
      
      }
    3. public class WeightCar extends Car {
          public WeightCar(int id,String name,int carryWeight,int rent){
              setArg(1,id,name,carryWeight,0,rent);
          }
          public  void  show(){
              System.out.println(this.id+".     \t"+this.name+"     \t"+this.rent+"元/天 \t"+ "載貨:"+this.carryWeight+"頓");
          }
      }
    4. public class WorPopCar extends Car{
          public WorPopCar(int id,String name,int carryWeight,int carryPeople,int rent){
              setArg(3,id,name,carryWeight,carryPeople,rent);
          }
          public  void  show(){
              System.out.println(this.id+".     \t"+this.name+"     \t"+this.rent+"元/天 \t"+ "載人:"+this.carryPeople+"人 載貨:"+this.carryWeight+"頓");
          }
      }
    5. import java.util.Scanner;
      
      public class Test {
          private static Car[] carArr;
          public static void main(String[] args) {
              carArr=new Car[6];
              carArr[0]=new PeopleCar(1,"歐迪A4",4,500);
              carArr[1]=new PeopleCar(2,"馬自達6",4,400);
              carArr[2]=new WorPopCar(3,"皮卡雪6",2,4,450);
              carArr[3]=new PeopleCar(4,"金龍",20,800);
              carArr[4]=new WeightCar(5,"松花江",4,400);
              carArr[5]=new WeightCar(6,"依維柯",20,1000);
              initzuche();
          }
      
          private static  void initzuche(){
              Scanner in = new Scanner(System.in);
              System.out.println("欢迎使用噠噠租车系统:");
              System.out.println("您是否要租車:1是 0否");
              int a = in.nextInt();
              if(a==1){//進入租車系統
                  System.out.println("您可租車的類型及其價目表:");
                  System.out.println("序號 \t汽車名稱 \t租金     \t容量");
                  for (Car icar:carArr) {
                      icar.show();
                  }
                  System.out.println("請輸入您要租汽車的數量:");
                  int num = in.nextInt();
                  Car[] selectArr = new Car[num];
                  //統計一起做
                  String pop="";
                  int popnum=0;
                  String wei="";
                  double weinum=0;
                  int allprice=0;
                  for(int i=1;i<=num;i++){
                      System.out.println("請輸入第"+i+"輛車的序號:");
                       int xh= in.nextInt();
                       Car tmp=carArr[xh-1];
                       selectArr[i-1]=tmp;
                      int tmppop=tmp.getCarryPeople();
                      int tmpwei=tmp.getCarryWeight();
                      popnum+=tmppop;
                      weinum+=tmpwei;
                      if(tmppop>0){
                          pop+=tmp.getName()+"  ";
                      }
                      if(tmpwei>0){
                          wei+=tmp.getName()+"  ";
                      }
                      allprice+=tmp.getRent();
                  }
                  System.out.println("請輸入租車天數:");
                  double day = in.nextInt();
                  System.out.println("您的賬單:");
                  System.out.println("***可載人的車有:");
                  System.out.println("  "+pop+"  共載人:"+popnum+"人");
                  System.out.println("***載貨的車有:");
                  System.out.println("  "+wei+"  共載貨:"+weinum+"頓");
                  System.out.println("***租車總價格:"+allprice*day+"元");
              }else{
                  initzuche();
              }
          }
      }
    大家看下,有问题找我

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》
老师告诉你能学到什么?
• 掌握 Java 基本语法和编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!