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

Java入门第二季

小慕 JAVA开发工程师
难度入门
时长 4小时 0分
学习人数
综合评分9.57
2057人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.4 逻辑清晰
  • 封装就好比生活中的抽奖箱,如果没有抽奖箱的存在,所有的抽奖号码球都在地上摆着的话,用户就会加以挑选和改动,不能实现抽奖的目的。加了封装就是把所有的号码球都装进了这个抽奖箱,然后给用户一个规定,必须通过入口去取得号码球,而且一次只能取一个。这样一来用户便不能破换抽奖流程,从而达到抽奖的目的。
  • 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。<br> 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。<br> 创建对象的时候就会加载类,就会出现任务结果的前三行。 <br> 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
  • /*方法的多态*/ /**********************分别有父类【类A】(含有方法a输出a1),子类【类B】含有同名方法a输出a2,和方法b输出b1,子类【类C】**********************/ 类A 对象1 = new 类A();/*创建一个属于类A的对象1,引用指向类A*/ 类A 对象2 = new 类B();/*创建一个属于类B的对象2,引用指向类A*/ 类A 对象3 = new 类C();/*创建一个属于类C的对象3,引用指向类C*/ 对象1 方法a();/*输出a1,引用方法就是指向的类A本来拥有的方法,而对象1属于类A*/ 对象2 方法a();/*输出a2,引用方法就是指向的类A本来拥有的方法,但是它的子类B拥有和它同名的方法而功能又重写了,而对象2属于类B*/ 对象3 方法a();/*输出a1,引用方法就是指向的类A本来拥有的方法,而对象3属于类C,类C就是继承了类A中的方法功能,两者是继承关系,对象3虽然属于类C但是它衔接了类A的功能,所以编号是A_C3*/ 对象2 方法b();/*输出失败,因为对象2的引用功能是属于类A虽然它属于类B,但是方法b是类B中特有的,所以如果要输出的话,就需要创建一个既属于类B,引用又指向类B的对象4{类B 对象4 = new 类B }然后用{对象4 方法b();}才能够输出b2*/
    08:13
    看视频
  • 为什么我直接System.out.println(className);就行了啊?
  • 重写: a,父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 b,若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。 c,子类函数的访问修饰权限不能少于父类的;
  • 一个类与另一个类的边界如何划分?举个例子来说,手机与平板的边界在哪里?为什么将手机可以称之为手机,而将平板称之为平板?假如答案是通过属性和方法,那么假如平板一样具有打电话和发短信的功能,或者有一天打电话和发短信的功能被这个社会淘汰掉了(事实证明如果不是跟座机连线,这两个功能已经并不是像原来那么必要了),他们之间的差别(边界)还存在吗?
    07:31
    看视频
  • 租车系统实现代码7-5 else if(selectedcar instanceof PassengerCar){ passengerCarName +=" "+selectedcar.name; /* * 给记录总载客量的变量加上选中客车的载客量,通过强制类型转换可以让父类访问子类, * 因为我们初始化时,这个位置存放的就是PassengerCar类对象,所有是安全的 */ personCapicity +=((PassengerCar)selectedcar).passengerCapacity; //给记录总金额的变量加上选中租用皮卡车所客车的金额 money += ((PassengerCar)selectedcar).transport(hireDay,((PassengerCar)selectedcar).rent); } } if(personCapicity != 0){ //显示账单中的客车信息 System.out.println("***可载人的车有:"); System.out.println(passengerCarName+" "+"共载人:"+personCapicity+"人"); } if(goodsCapicity != 0){ //显示账单中的货车信息 System.out.println("***可载货的车有:"); System.out.println(GoodsCarName+" "+"共载货:"+goodsCapicity+"吨"); } if(money !=0){ //显示账单中的金额信息 System.out.println("***租车总价格:"+money+"元"); } } }
  • 继承的初始化顺序: 1.初始化父类再初始化子类。 2.先执行初始化对象中的属性,再执行构造方法中的初始化。 父类对象-->属性初始化--->构造方法 子类对象-->属性初始化--->构造方法
    04:41
    看视频
  • 1,static 出现的原因: 类对象拥有的资源是属于自己的是独立的、是不能被共享的。因为在程序中需要共享资源。 所以出现了静态变量。 2,静态变量的用法 1)通过类名直接引用:HelloWorld.var 2)通过对象访问:HelloWorld world=new HelloWorld(); world.var; 结:最好通过类名访问静态变量。 下面归纳一下java用于控制可见性的4个访问修饰词: 1)仅对本类可见--private 2)对所有的类可见--public 3)对本包和所有子类可见--protected 4)对本包可见---默认,不需要修饰词
  • 构造方法 1.使用new+构造方法 创建一个新的对象 2.构造方法是定义在Java类中的一个用来初始化对象的方法 构造方法与类同名且没有返回值 public 构造方法名(){//没有返回值类型;与类名相同;可以指定参数 //初始化代码 } 3.无参的构造方法使用 main(); Telphone phone = new Telphone(); class Telphone: public Telphone(){ System.out.println("Telphone构造方法执行了"); } 4.有参的构造方法 main(): Telphone phone2 = new Telphone(4.0f, 2.0f, 2.0f); class Telphone: public Telphone(float newScreen, float newCpu, float newMem){ screen = newScreen; cpu = newCpu; mem =newMem; } 5.当没有指定构造方法时,系统会自动添加无参的构造方法 6.当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法 7.构造方法的重载:方法名相同,但参数不同的多个方法调用时会自动根据不同的 参数选择相应的方法 8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值
  • 4-3练习第二部分 package com.imooc; import java.util.Scanner; public class Circle extends Shape { final double PI = 3.1415926; Scanner input = new Scanner(System.in);//创建一个Scanner类 @Override public void perimeter() { System.out.println("请输入圆形的半径:"); double radius = input.nextDouble(); double thePrimeter = 2*PI*radius; System.out.println("圆形的周长为:"+thePrimeter); } @Override public void area() { System.out.println("请输入圆形的半径:"); double radius = input.nextDouble(); double theArea = PI*radius*radius; System.out.println("圆形的面积为:"+theArea); } }
  • JAVA中的继承:<br> 1.继承概念:类与类的关系 动物->狗 ==> 父类 ->子类<br> 注意:每个类只能有一个父类!<br> 2.继承的好处:子类拥有父类属性和方法(代码复用)<br> 注意:private修饰的父类属性和方法不能被继承!<br> 3.语法规则:<br> class 子类 extends 父类<br> 例: class Dog extends Animal{<br> ......<br> }<br> 4.代码演示
  • 一、项目分析: 1、数据模型分析 2、业务模型分析 3、显示和流程分析 (一)数据模型分析 1、将现实世界的事与物的主要特征 --分析--抽象--> 信息系统数据存取的数据结构以及约束信息,数据结构的组成:操作(方法)、属性 (二)业务模型分析 1、在设计应用程序前,应该明确该应用必须执行哪些任务。 ·分析业务需求量是应用程序开发中最重要的步骤之一。 ·确认业务需求的目的在于创建一个能同时满足零售商和消费者需要的解决方案。 2、本程序中,面向消费者的业务有:【选车】,【租车天数】,【统计金额】,【载客、载货量】 (三)显示和流程分析 1、显示:用户可以看到的信息提示界面 2、流程:显示信息的执行过程和步骤 3、在本系统中,以命令行显示提示信息和结果,要考虑其样式,用户输入的数据不同如何提示,如何处理并显示结果。例如:请选择车辆->请输入序号->输出总金额...
  • 一.封装应该提供下面三项内容: 1.一个私有的数据域; 2.一个共有的域访问方法; 3.一个公有的域更改器方法。 二.封装的好处: 1.实现内部改变,除了该类的方法之外,不会影响其他代码; 2.执行错误检查,直接对域进行赋值将不会进行这些处理。 极其重要注意事项:不要编写返回引用数据类型的访问器方法。因为对象是储存在栈内存中,而引用数据域储存的是对象的引用,存放在堆内存中,私有化的是引用,而不是对象本身。这样导致封装性被破坏。
  • 遍历数组四种方法: 1: Iterator iterator = list.iterator(); while (iterator.hasNext()) { } 2: for (Iterator iter = list.iterator(); iter.hasNext();){ } 3: for (Object obj : list) { } 4: for (int i = 0; i < list.size(); i++) { }
    01:37
    看视频

举报

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

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