一、数组
1.在Java中,数组是用来存储固定值大小的同类型元素,例如:number【10】就是在直接声明10个独立变量的,number0,number1,.……,number9.;
2.声明数组的变量:要想使用数组,就必须先声明数组:int [] arr={1,2,3,……,9}
3.创建数组:例如:
public classTestArray{
public statci void main(String[] args){
int size = 4 //定义数组的大小;
int[] mylist = new int[size]; //定义数组;
myList[0]=1;
myList[1]=2;
myList[2]=3;
myLsit[3]=4;
int total = 0;
for(int i = 0;i
输出:总和为:10
4.数组的处理:因为数组的元素类型和大小都是确定的,所以我们一般使用基本循环或者For-Each循环。
二、Java的Scanner类
1.我们可以通过Scanner类来获取用户的输入:Scanner s = new Scanner(System.in);
2.通过Scanner类的next()与nextLin()方法获取输入的字符串:
import java.util.Scanner;
public class ScannerDemo {
public static void main (String[] args){
Scanner s = new Scanner(System.in); //从键盘接收数据;
System.out.println("next方式接收:");
if(scan.hasNext()){
String str1 = scan.next();
System.out.println("输入的数据为:"+str1);
}
scan.close();
}
}
$ javac ScannerDemo.java
$ java ScannerDemo
next方式接收:
runoob com
输入的数据为:runoob
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); // 从键盘接收数据
System.out.println("nextLine方式接收:"); // nextLine方式接收字符串
if (scan.hasNextLine()) { // 判断是否还有输入
String str2 = scan.nextLine();
System.out.println("输入的数据为:" + str2);
}
scan.close();
}
}
$ javac ScannerDemo.java
$ java ScannerDemo
nextLine方式接收:
runoob com
输入的数据为:runoob com
三、Java的多态
1.多态是同一个行为具有不同的表现形式或形态的能力;
2.多态就是同一个接口,使用不同的实例而执行不同的操作;
3.多态性是对象多种表现形式的体现。(同一件事发生在不同对象的上会有不同的结果)
4.多态存在的三个必要条件(继承、重写、父类引用子类对象(Parent p = new Child();))
例如:
class Parent{
void draw(){}
}
class Child1 extends Parent{
void draw(){}
}
class Child2 extends Parent {
void draw(){}
}
当使用多态方式调用方法的时候,首先要检查父类中是否有这个方法,如果没有,就编译错误;如果有,再去调用子类的同名方法。
4.多态的实现方式(重写、接口、抽象类和抽象方法)
四、Java抽象类
1.所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类;
2.抽象类不能实例化对象,但类的其他功能都存在;
3.抽象类不能实例化对象,所以必须通过继承才能被使用;
4.在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类可以实现多个接口;
5.Java中用abstract class来定义抽象类。
例如:
public abstract class Employee {
private String name;
private String address;
private int number;
public Employee(String name, String address, int number) {
System.out.println("Constructing an Employee");
this.name = name;
this.address = address;
this.number = number;
}
public double computePay() {
System.out.println("Inside Employee computePay");
return 0.0;
}
public void mailCheck() {
System.out.println("Mailing a check to " + this.name + " " + this.address);
}
public String toString() {
return name + " " + address + " " + number;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public void setAddress(String newAddress) {
address = newAddress;
}
public int getNumber() {
return number;
}
}
继承抽象类:
我们可以通过以下方式来继承Employee类的属性:
public class Salary extends Employee{
private double salary;
public Salary(String name,String aadress,int number,double salary)
{
super(name,address,number);
setSalary(salary);
}
public void mailCheck()
{
System.out.println("Within mailCheck of Salary class");
System.out.println("Mailing check to " + getName()+ " with salary " + salary);
}
public double getSalary()
{
return salary;
}
public void setSalary(double newSalary)
{
if(newSalary >= 0.0)
{
salary = newSalary;
}
}
public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}
}
我们不能实例化一个 Employee 类的对象,但是我们可以实例化一个 Salary 类对象,该对象将从 Employee 类继承 7 个成员方法,且通过该方法可以设置或获取三个成员变量。



