学习java的阶段性总结


 

 

this
在Java基础中,this关键字是一个重要的概念,使用this关键字可以完成以下的操作:
    ·调用类中的属性
    ·调用类中的方法或构造方法
        -    在一个构造方法中,调用另一个构造方法时,调用的代码 必须编写在构造方法的第一行。
    ·表示当前对象

static
概述:
static表示“静态”的意思,可以用来修饰乘员变量和成员方法(后续还会学习 静态代码块 和 静态内部类)
static的主要作用在于创建独立于具体对象的域变量或者方法
简单理解:
    被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问,
    并且不会因为对象的多次创建 而在内存中建立多份数据
重点:
1. 静态成员 在类加载时加载并初始化
2. 无论一个类存在多少个对象,静态的属性,永远在内存中只有一份(可以理解为所有对象公用)
3. 在访问时:静态不能访问非静态,非静态可以访问静态!

代码块
普通代码块:
    在执行的流程中 出现的 代码块, 我们称其为普通代码块。

构造代码块:
    在类中的成员代码块, 我们称其为构造代码块,在每次对象创建时执行,执行在构造方法之前。

静态代码块:
    在类中使用static修饰的成员代码块,我们称其为静态代码块,在类加载时执行。每次程序启动到关闭,只会执行一次的代码块。

同步代码块:
    在后续多线程技术中学习

面试题: 构造方法 与 构造代码块 以及静态代码块的执行顺序:
    静态代码块 ---> 构造代码块 ---> 构造方法

 * 继承:
 * 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
 * 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
 * @author 22529
 *    格式:
 *        class 父类{
 *        }
 *
 *        class 子类 extends 父类{
 *        }
 * super:
 *         通过super , 可以访问父类构造方法
            调用super构造方法的代码,必须要写在子类构造方法的第一行
 *         通过super , 可以访问父类的属性
 *         通过super , 可以访问父类的方法

 * 面试题:
 * Java中重载(overload) 与重写(override)的区别
 *     1.发生的位置
 *         重载:一个类中
 *         重写:子父类中
 *     2.参数列表限制
 *         重载:必须不同的
 *         重写:必须相同的
 *     3.返回值类型
 *         重载:与返回值类型无关
 *         重写:返回值类型必须一致
 *     4.访问权限
 *         重载:与访问权限无关
 *         重写:子类的方法权限 必须不能小于 父类的方法权限
 *     5.异常处理、
 *         重载:与异常无关
 *         重写:子类异常范围可以更小,但是不能抛出新的异常

 * final关键字
 *         final用于修饰属性、变量
 *             变量成为了常量,无法对其再次进行赋值
 *             final修饰的局部变量,只能赋值一次(可以先声明后赋值)
 *             final修饰的是成员属性,必须在声明时赋值。
 *             全局常量(public static final)
 * 
 *             常量的命名规范:
 *                 由1或多个单词组成,单词与单词之间必须用下划线隔开,单词中所有字母大写
 *                 例如:SQL_INSERT
 * 
 *         final用于修饰类:
 *             final修饰的类,不可以被继承
 *         final用于修饰方法
 *             final修饰的方法,不能被子类重写

在抽象类的使用中有几个原则: 
· 抽象类本身是不能直接进行实例化操作的,即:不能直接使用关键字new完成。 
· 一个抽象类必须被子类所继承,被继承的子类(如果不是抽象类)则必须覆写(重写)抽象类中的全 部抽象方法。


抽象类和普通类的区别:
1、抽象类必须用public或procted 修饰(如果为private修饰,那么子类则无法继承,也就无法实现其 抽象方法)。默认缺省为 public 
2、抽象类不可以使用new关键字创建对象, 但是在子类创建对象时, 抽象父类也会被JVM实例化。 
3、如果一个子类继承抽象类,那么必须实现其所有的抽象方法。如果有未实现的抽象方法,那么子类也必 须定义为 abstract类

接口和抽象类的区别:
 1、抽象类要被子类继承,接口要被类实现。 
 2、接口只能声明抽象方法,抽象类中可以声明抽象方法,也可以写非抽象方法。
 3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。 
 4、抽象类使用继承来使用, 无法多继承。 接口使用实现来使用, 可以多实现 
 5、抽象类中可以包含static方法 ,但是接口中不允许(静态方法不能被子类重写,因此接口中不能声明 静态方法)
 6、接口不能有构造方法,但是抽象类可以有


instance  of
作用: 判断某个对象是否是指定类的实例,则可以使用instanceof关键字 
格式: 实例化对象 instanceof 类 //此操作返回boolean类型的数据
                                                                                
注意:
在使用匿名内部类的过程中,我们需要注意如下几点: 
 1、使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能 继承一个类或者实现一个接口。
 2、匿名内部类中是不能定义构造函数的。
 3、匿名内部类中不能存在任何的静态成员变量和静态方法。
 4、匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。 
 5、匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。  6、只能访问final型的局部变量

 

异常是否抛出去,应该站在哪个角度思考?
  如果是因为传参导致异常,应该通过throws将异常抛出去

唯一不执行finally的代码:System
public class Demo {
    public static void main(String[] args) {
        haha();
    }
    public static void haha(){
        try {
            int x = 10;
            int y = 0;
            System.out.println(x/y);
        }catch(Exception e){
            //退出JVM
            System.out.println("出现了异常");
            System.exit(0);
        }finally{
            System.out.println("你好");
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习 JavaFX 不是一件容易的事,但是可以通过一些步骤来实现:1. 首先,学习基本的 Java 语言知识;2. 其次,学习 JavaFX 的结构和基本概念;3. 然后,学习 JavaFX 的基本 GUI 元素;4. 最后,尝试使用 JavaFX 创建基本的图形界面。 ### 回答2: JavaFX 是 Java 平台上的一个用于创建富客户端应用程序的框架。它提供了丰富的图形化界面控件、多媒体、动画和图形渲染等功能,使开发者能够轻松地创建各种各样的跨平台应用程序。 要学习 JavaFX,首先需要掌握 Java 编程语言的基础知识。这包括掌握面向对象编程的概念、熟悉 Java 的基本语法和语义,以及了解常用的数据结构和算法。 接下来,可以通过学习 JavaFX 的官方文档和教程来了解 JavaFX 的基础知识。官方文档提供了对 JavaFX 库中各个类和方法的详细说明,而教程则提供了一些实例和示例代码,帮助学习者更好地理解和应用所学知识。 在学习过程中,可以通过实践项目来巩固所学内容。可以自己设计一个简单的 JavaFX 应用程序,比如一个计算器或者一个简单的图形界面游戏,并尝试使用 JavaFX 的各种功能和特性来完成项目。 此外,还可以参考一些优秀的 JavaFX 框架和库,如 Scene Builder、JavaFX CSS、JavaFX FXML 等,来提升开发效率和代码质量。 另外,与其他 Java 开发者进行交流和分享经验也是非常重要的。可以参加一些 JavaFX 相关的社区或者论坛,与其他学习者以及专业人士交流,提问和解答问题,扩大自己的视野和知识广度。 总结来说,JavaFX 的学习路径可以分为掌握 Java 编程语言基础、学习官方文档和教程、实践项目、掌握相关框架和库、参与社区交流等几个阶段。通过系统性的学习和实践,可以逐步掌握和应用 JavaFX 的各种功能,提升自己在 JavaFX 开发领域的能力和经验。 ### 回答3: JavaFX是Java平台上的图形用户界面工具包,用于构建丰富的桌面应用程序。如果你想学习JavaFX,以下是一个简单的学习路径: 1. Java基础知识:在学习JavaFX之前,你需要掌握Java的基础知识,如语法、面向对象编程等。 2. JavaFX入门教程:开始学习JavaFX的最好方法是通过入门教程。你可以选择在线教程或阅读相关书籍,这些教程将帮助你了解JavaFX的基本概念、组件和布局。 3. 理论知识学习学习JavaFX的理论知识是非常重要的。你需要掌握JavaFX的架构、事件处理、场景图、布局和样式等方面的知识。 4. 实践项目:深入学习JavaFX的最好方法是通过实践项目。你可以尝试模仿一些简单的JavaFX应用程序,如计算器、简单的游戏等。通过实践,你将学会如何使用JavaFX的各种功能和组件。 5. 深入学习:一旦你熟悉了JavaFX的基本知识,你可以深入学习JavaFX的高级功能和特性,如动画效果、多媒体处理、图表和图形绘制等。 6. 扩展学习:除了学习JavaFX本身,你还可以学习其他与JavaFX相关的技术和工具,如CSS、FXML、Scene Builder等,这些工具可以帮助你更好地构建JavaFX应用程序。 总之,学习JavaFX需要掌握Java的基础知识,并通过理论学习和实践项目来深入学习。持续学习和实践是提高JavaFX技能的关键。希望这些对你学习JavaFX有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值