Java基础学习+面向对象

发布时间:2025-12-09 16:17:41 浏览次数:3

一,基础概念介绍

1.1Java跨平台原理(一次编译,处处运行)

  • Java 源代码经过编译,生成字节码文件,交由 Java 虚拟机来执行,不同得系统有不同得JVM,借助JVM 实现跨平台。
  • 就比如说我们在 Windows 下面写出来的一段 Java 程序,换成 Linux,macOS 系统里面,一样可以正常运行并且输出相同的结果
  • Java 虚拟机(Java Virtual Machine,简称 JVM)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java 虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM 屏蔽了与具体操作系统平台相关的信息,使 Java 程序只需生成在 Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM 在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

1.2JRE与JDK

1.2.1JRE(Java Runtime Environment)

是Java程序的运行时环境,包含JVM和运行时所需的核心类库,我们想运行一个Java程序,只需要安装一个JRE即可。

1.2.2JDK(Java Development Kit)

是Java程序开发工具包,包含JRE和开发人员使用的工具,开发工具:编译工具(javac.exe),运行工具(Java.exe)

1.2.3Idea的使用

  • Idea的项目结构:
  • 新建模块
//学生类public class Student {//属性String name;int age;//方法public void study(){System.out.println("学生");}}
  • 由于接口不是类,所以其中定义的方法无法直接实现(且接口中无构造方法)
  • 接口用来定义不同的方法,让不同的人实现(分工)
  • 接口中的方法默认是public abstract类型
  • implement可以实现多个接口
package Demo6;public interface UserService {//接口中的所有定义都是抽象的 public abstractvoid run(String anme);//定义方法可以不用写public abstract,默认就是void Delete(String name);}//定义完接口后可通过类来实现
  • 接口2的定义
package Demo6;public interface TimeService {void time();}
  • 两个接口的继承(java是单继承,但接口中可以实现多继承),重写里面的方法即可
package Demo6;//快捷键alt+insert选中implment//实现接口的类必须重写接口中的方法//接口可以多继承public class UserServiceImp implements UserService,TimeService{@Overridepublic void run(String anme) {}@Overridepublic void Delete(String name) {}@Overridepublic void time() {}}

2.6Java中内部类

  • 内部类定义
package Demo14;public class Outer {private int id=10;public void out(){System.out.println("这是外部类方法");}//内部类public class Inner{public void in(){System.out.println("这是内部类方法");}//内部类方法可以调用外部类中私有属性public void getID(){System.out.println(id);}}}
  • 测试类Application
package Demo14;public class Application {public static void main(String[] args) {Outer outer = new Outer();//通过外部类对象实例化内部类Outer.Inner inner = outer.new Inner();}}
  • 一个java文件中只能有一个public类,但是可以有多个class类,所以一些测试类可以写在class A{}中,不用再 建立一个新的java文件。
package Demo14;public class Outer {private int id=10;public void out(){System.out.println("这是外部类方法");}}class A{}class B{}
  • 方法中也可以写类:局部内部类,类似于方法中定义的变量叫做局部变量
package Demo14;public class Outer {//局部内部类public void out(){class A{}}}
  • 匿名内部类:不将类的实例保存的变量中,正常实例化及调用类中属性
  • A a=new A();a.name;
package Demo14;public class Application {public static void main(String[] args) {new Apple().eat();}}class Apple{public void eat(){System.out.println("1");}}

2.7 java中异常机制

  • 异常处理
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477