类和对象
类类是对现实事物的抽象。类中的数据成员,便是对现实事物中的属性进行数据抽象而得到。而类中的方法便是对类似事物的行为抽象。
类是一种引用的数据类型。所以一般来说,对类需要创建一个实例,并将其应用。下面是具体的操作方式,也是比较正确的方式
1Cat cat = new Cat();
其中 Cat cat 是引用一个对象, 而 new Cat() 则是获取一个实例,实例的对象名就是之前的cat. 类似电视机(实例)和遥控器(对象),缺一则没有什么意义;
接下来再需要使用cat中的方法时候,可是使用类似cat.eat();方式进行引用,类似之前的很多中方式。
注意 可以为每一个类都定义main方法,方便测试。其中即使不同类定义了多个主方法,java系统会选择指定的类中的main方法进行解释运行
对象传递给方法,改变仅仅是参数的引用值,而不是实际的参数值.
静态变量 && 静态方法简单解释一下,无论是静态方法,还是静态变量,关键点都是前面有static 修饰符
静态变量12345class Test{ static int average(){ ...
关键字This
This作用:明确引用对象
具体例子:
返回当前对象对象作为参数传递给其他方法时
1234567891011class Cat{ private int age = 0; Cat grow(){ //返回类型时 Cat age++; return this;//指向现在的对象 } void print(){ System.out.println(age); }}
访问隐藏的数据成员需要用到的this的另外一种情况:
如果局部变量与其所属类的数据成员变量重名,需要访问与之重名的数据成员;
例子
123456class Cat{ private int age; Cat(int age){ this.age = age;// this.age 是 类内的age }}
调用另外一个构造方法在一个构造方法中,调用类中的另外一个构造方法
形式如下
12345678910class Cat ...
继承
继承继承是同样是一种抽象,在现实与编码工作中都普遍存在。在我的定义里,编码过程中,或者说是软件过程中的继承是类似一颗二叉树,一个结点可以有多个孩子,这叫继承,在继承的过程中,孩子继承了父类的特定数据成员与方法,除了父类私有数据成员和构造方法。
同样,因此一个孩子不能有多个父亲(Java中不支持),如果有,那就是使用接口完成。
extend123456789101112class son extends father{ }class father{ public static int j; private int z; protected int n; int s; father(int i){ }}
创建了一个类,son类继承father类的 j , n ,s。
interface现在不懂,以后再写。
protected主要是为了提供的给子类使用。子类可以通过继承获取protected 修饰的变量或者方法,但是如果子类的与父类不在同一个包内,子类只能使用publi ...
基础语法
算术运算符java 中 二元运算符中 ,左操作数是的优先级是高于右操作数的
例子
12int a = 0;int b = a + (++a);
输出:b = 1;
虽然 ++ > + 但是 a 在左边,所以 先执行 a + 0 = 0
再执行 0 + ( ++ a) = 1;
跳转语句break 语句 ,一般用于switch语句中,用于跳出选择。当然,break 语句 也可以用于中断循环,跳出循环,然后执行循环体后的语句;
continue语句一般用于 结束本次循环的迭代,开始下一轮迭代。
switch语句选择语句中的格式应该为
12345678Sting s = 'liudidi';char a = s.charAt(1);switch(a){ case 'l': xxx; case 'a': xxx;}
可以用这个语句
12Scanner sca = new Scanner(System.in);int i = sca.nextInt();
如何输入字符呢?
Java方法
方法结构解释方法其实就是函数。
只不过相较于C的函数中,方法的返回类型中,前面可以加上一个修饰符
123public static int add(int i, int j){ return i + j;}
其实 static 是修饰符中的一种。int 是返回类型的一种,add是方法名,小写。注意修饰符可以加多个
,比如 加上public
方法重载方法重载就是方法名可以相同,方法的返回值类型可以相同,但是方法之间的形参的类型和数量必须要有区别
一般来说,系统会根据形参对同名方法进行选择,然后执行。
但是也有可能会有错误
例子
1234567int add(int i, int j){ return i + j;}double add(int i, int j){ return i + j;}
上面的例子是不对的,关键在于系统无法选择合适的方法进行执行。形参相同,返回类型不同,不能作为方法重载的使用方式