c是面向过程的语言,java和c++是面向对象的语言
面向对象的概念介绍:拿来主义:面向对象不是一项具体的技术,而是指导我们编程的一种思想,这种思想的核心就是“拿来主义”,当我们需要解决某一项问题时,我们需要去思考解决这个问题的工具,我们要去找这个工具。面向对象编程思想,就是在找工具解决问题的路上,没有这种工具,则需要我们自己设计出来。
类和对象的介绍:类是java编程中的基本单元;把具有相同行为和属性的事物归为一类;
对象是类的具体
我们现实生活中,老师是叫小明扫地,而不是叫人类扫地。(人类是一个泛指,而小明是具体到个体)
类的定义:
通过class关键字定义一个类
语法:
作用域修饰符 修饰类关键字 类名(){
类体
}
注:
作用域修饰符public,修饰类的关键字class,
类取名的时候要见名知意、类的首字母大写、类的作用域修饰符修饰哪个?该类抽象那些属性和哪些方法?
对象创建的语法:
数据类型 对象名 =new 构造方法;
作用:通过对象调用该对象的属性和方法
我们自己设计好的类,里面定义的属性和方法都是由具体的类实例对象来进行
eg:建立一个汽车类
public class Car {
String brand;//品牌
String id;//牌号
int sudu;//速度
String clor;//颜色
public static void drive(){
System.out.println("驾驶方法");
}
通过建立新的对象来调用他
public class CarUse {
public static void main(String[] args) {
Car car = new Car();
car.brand="大众";
car.id="G123445";
car.sudu=80;
car.drive();
Jia jia = new Jia();
jia.Jia(5,6);
}
成员变量和全局变量的区别:
作用域修饰符:
public:不管同不同包,不管是本类还是外部类,都可以被调用
protected:同包情况下,本类外类都可以调用,不同包情况下,外类不能调用
private:不管同不同包,只能本类使用。
eg:建立三个类
public class Test2 {
public static void Test2(){
System.out.println("测试public类");
}
public class Test3 {
protected static void Protected(){
System.out.println("测试protected类");
}
public class Test4 {
private static void Private(){
System.out.println("测试private类");
}
public static void main(String[] args) {
Test4 test4 = new Test4();
test4.Private();
}
同包调用时:
public class Test {
public static void main(String[] args) {
Test2 test2 = new Test2();
test2.Test2();
Test3 test3 = new Test3();
test3.Protected();
Test4 test4 = new Test4();
}
当调用private修饰的类的时候,会报错。
不同包调用的时候:
public class Test {
public static void main(String[] args) {
Test2 test2 = new Test2();
test2.Test2();
}
除了public修饰的类,其他调用都会报错。
this 关键字
this:代表所在类的对象的引用:方法被哪个调用,this就代表哪个对象
this的作用,当全局变量和局部变量同名的时候,用this来使用全局变量
(局部变量和全局变量同时都有的话,就近原则)
eg:
public class Test1 {
int a;//全局变量
public static void main(String[] args) {
int a=10;//局部变量
int res=a+10;
System.out.println(res);
Test1 test1 = new Test1();
test1.jisuan();
}
public void jisuan(){
int b=this.a+100;
System.out.println(b);
}
运行结果:
构造方法的注意事项:构造方法的创建:
1 如果没有定义构造方法,系统将给出一个默认的无参数构造方法
2 如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载:
如果自定义了带参数构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
推荐的使用方式:
无论是否使用,都手动书写无参数构造方法和带参数构造方法。
构造方法的作用:
1 给属性赋值
2 创建对象



