Java的三大特征分别是:1、面向对象,java最核心的特性之一,将现实世界中的事物抽象成类,并且用对象来描述和处理问题;2、平台无关性,java源代码经过编译后生成的是字节码,而不是机器码;3、高性能,通过即时编译和垃圾回收技术的应用,在运行时可以自动优化和处理性能问题。
一.面向对象与面向过程:
1.1:面向过程:侧重的主要是过程
优点:操作简单
缺点:代码量大了后,维护性非常差
1.2面向对象:侧重的是对象,以上帝视角创建物品
优点:可拓展性非常强
缺点:上手难度大
二.类与对象:
2.1 类:就是图纸
属性:这一类事物拥有的拥有的共同特征
动作:这一类事物共同能执行的功能
2.2 对象:使用类创建的具体某一个东西
代码
类要用class来定义
属性:要用成员变量来描述,直接写在类中的变量
Public class Car{
String color;
int speed;
int seat;
}
动作:成员方法,不写static就是成员方法
public void run(){
System.out.println("车能跑");
}
2.3 this关键字: this是当前类的对象
this可以在方法内部获取到对象中的属性信息
this还可以区分局部变量和成员变量
Public class Car{
String color;
int speed;
int seat;
}
public void run(){
//默认会有一个this:当前正在执行这个方法的对象
//获取到车的颜色和速度
System.out.println(this.color);
System.out.println(this.speed);
System.out.println("车能跑");
}
三 构造方法:
3.1 在创建对象的时候,自动调用的方法。
语法:
public类名(传参){
}
注意:1.没有返回值
2.在我们执行new的时候自动调用的方法
3.Java会自动的赠送给每一个类一个无参数的构造方法
3.2 构造方法的重载
构造方法也是方法,可以进行重载
作用:可以有更多的方法去创建对象
public Daxia(String name,int age,String bangPai)
{
this.name=name;
this.age=age;
this.bangpai=bangpai;
}
//可以让我们有更多的方式创造对象
public Daxia(String name,int age,String bangPai,String waihao)
{
this(name,age,bangPai);//this还可以调用当前类中其他的构造方法
this.waihao=waihao;
}
四 static
4.1 static:静态
静态的内容在内存中只保留一份,并且各个对象之间进行共享
有多少人就要改多少次
public class Person{
String name;
Static String country = "大清";//他是共享的
}
public Person(String name){
this.name = name;
}
public static void main(String args)
{
person p1 = new Person(name:"张三");
person p2 = new Person(name:"李四");
p1.country = "民国";
System.out.println(p1.country);
System.out.println(p2.country);
}
}
4.2 特点:
1.数据共享
2.属于类的并不属于对象
3.优先于对象产生的
4.3 通用构造器,静态构造器
public class Test
{
System.out.println("这里是通用构造器");
}
public class static
{
System.out.println("静态构造器");
}
创建对象的过程(简单)
1.静态构造器
2.通用构造器
3.构建方法 -> 创建对象
由于创建对象的过程是在静态内容加载完成之后,在静态方法和静态块里不能使用this
静态的内容使用类名去访问