Java是一种跨平台的编程语言,广泛用于Web开发、移动应用、游戏开发等领域。本篇文章将从多个方面对Java的学习笔记进行详细阐述,以助于初学者加深对Java编程语言的理解和掌握。
一、Java基础知识
1、Java类和对象
public class Person { private String name; private int age; public Person(String name, int age){ this.name = name; this.age = age; } public String getName(){ return name; } public int getAge(){ return age; } }
Java中类是一种实体,包含属性和方法。对象是类的实例,用于执行类中定义的操作。上面代码定义了一个Person类,包含了姓名和年龄两个属性,以及一个构造函数和两个获取属性的方法。
2、Java基本数据类型
byte num1 = 120; short num2 = 12345; int num3 = 123456789; long num4 = 123456789L; float num5 = 12.345f; double num6 = 1234.567; char c = 'a'; boolean b = true;
Java中的基本数据类型包括byte、short、int、long、float、double、char和boolean等。
3、Java循环控制语句
for(int i=0; i<10; i++){ System.out.println("i="+i); } int j=0; while(j<10){ System.out.println("j="+j); j++; } int k=0; do{ System.out.println("k="+k); k++; }while(k<10);
Java中的循环控制语句包括for、while和do-while。
二、Java面向对象编程
1、Java继承
public class Animal{ public void eat(){ System.out.println("Animal eat"); } } public class Dog extends Animal{ public void bark(){ System.out.println("Dog bark"); } } public class Test{ public static void main(String[] args){ Dog dog = new Dog(); dog.eat(); dog.bark(); } }
Java中使用extends关键字实现继承,子类可以继承父类的属性和方法。上面的代码中定义了一个Animal类和一个Dog类,Dog类继承了Animal类的eat方法,并添加了自己的bark方法。
2、Java多态
public class Animal{ public void eat(){ System.out.println("Animal eat"); } } public class Dog extends Animal{ public void bark(){ System.out.println("Dog bark"); } public void eat(){ System.out.println("Dog eat"); } } public class Test{ public static void main(String[] args){ Animal animal = new Dog(); animal.eat(); } }
Java中使用多态可以实现同一个方法在不同对象上的不同行为,提高代码的灵活性和可维护性。上面的代码中定义了一个Animal类和一个Dog类,Dog类重写了Animal类的eat方法,Test类使用Animal类型的变量引用Dog对象,并调用eat方法。
三、Java高级特性
1、Java异常处理
public class Test { public static void main(String[] args) { try { int a = 10; int b = 0; int c = a / b; }catch(ArithmeticException e){ System.out.println("除数不能为0"); } } }
Java中使用try-catch语句块处理异常,可以在程序运行时检测到错误并进行相应的处理。上面的代码中做了除数为0的判断,捕获并处理了ArithmeticException异常。
2、Java反射机制
public class Test { public static void main(String[] args) throws Exception { Class clazz = Class.forName("com.young.demo.utils.Test"); Constructor constructor = clazz.getDeclaredConstructor(); constructor.setAccessible(true); Object object = constructor.newInstance(); Method method = clazz.getMethod("sayHello", String.class); method.invoke(object, "Young"); } private void sayHello(String name){ System.out.println("Hello "+name); } }
Java反射机制可以在程序运行时获取类的信息,包括方法、属性、构造器等,并进行相应的操作。上面的代码中通过反射获取了Test类的信息,并调用了其中的sayHello方法。
3、Java集合框架
List<String> list = new ArrayList<>(); list.add("Young"); list.add("Tom"); list.add("Jerry"); for(String str : list){ System.out.println(str); }
Java中的集合框架包括List、Set、Map、Queue等,提供了方便的数据集合操作。上面的代码中使用了ArrayList实现了一个字符串列表,并循环输出其中的元素。