Java语言的特点
1. 面向对象
什么是对象?
答:对象是类的实例化。例如:人类的实例化,就是一个人。猫类的一个实例化,就是一只猫。狗类的实例化,就是一只猫。
什么是类?
答:类是对现实生活中一类具有共同特征的事物的抽象。例如:人类、猫类、狗类。
怎么创建一个类?
public class Person {
private String name;
private int age;
public void spreak(){
System.out.print("我会说话");
}
}
这就是创建一个类,我们创建了一个人类,找个人类有名字、年龄、还会说话。
怎么实例化一个类呢,也就是创建一个对象?
Person huangren = new Person();
这就是创建一个对象,对类的实例化。
什么是面向对象编程?
Person huangren = new Person();
huangren.name = "张三";
huangren.age = 12;
答:面向我们创建的对象,进行程序的编辑。
面向对象的主要特征
-
封装性
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
怎么使用封装呢?
public class Person { private String name; private int age; private int sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
这样在其他类中实例化Person时,就访问不到我们的属性。因为我们对类的进行了封装,只能访问到我们封装后的方法。比如getName()、setName()、getAge()、setAge()。不知道我们的类中具体有什么属性。
-
继承性
继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
怎么使用继承?
public class Person { private String name; private int age; }
public class YellowPerson extends Person { private String color; public static void main(String[] args) { YellowPerson yellowPerson = new YellowPerson(); yellowPerson.setName("张三"); yellowPerson.setAge(12); } }
我实例化的是黄人类,类中没有setName()、setAge()方法,但是我继承了Person类,因此YellowPerson是Person的子类,Person也就是父类。
-
多态性
在面向对象语言中,接口的多种不同的实现方式即为多态。
怎么使用多态?
public interface Shape { void draw(); }
public class Triangle implements Shape { public void draw() { System.out.println("我是三角形"); } }
public class rectangle implements Shape { public void draw() { System.out.println("我是长方形"); } }
public class square implements Shape { public void draw() { System.out.println("我是正方形"); } }
public static void main(String[] args) { Shape Triangle = new Triangle(); Shape rectangle = new Triangle(); Shape square = new Triangle(); Triangle.draw(); rectangle.draw(); square.draw(); }
2. 一个开源的产品
3. 提供有方便的内存回收处理机制
4. 避免了复杂的指针问题
5. 支持多线程开发的语言
6. 提供高效的网络处理能力
7. 具有良好的可移植性
什么是可移植性?
答:可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。
Java怎么实现可移植性?
答:Java会将程序编译成字节码,不论你在什么系统中编译的java,得到的都是统一的字节码,通过在不同的操作系统上安装不同版本的JVM(Java虚拟机),将统一的中间码编译成对应操作系统识的二进制码。从而实现可移植性。