什么是类
类的概念:类是具有相同属性和方法的一组对象的集合。
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。
什么是对象
对象的概念:用来描述客观事物的一个实体,由一组属性和方法构成。
现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。
拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。
对比现实对象和软件对象,它们之间十分相似。
软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。
在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
方法和属性是什么
方法:对象执行的操作
属性:对象具有的各种特征
什么是方法重载(附代码举例)
就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型给它们的不同参数个数和参数类型给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
public class Essay {
public void writeEssay() {
System.out.println("无参方法");
}
public void writeEssay(String pencil,String paper) {
System.out.println("用笔和纸写文章");
}
public void writeEssay(int a,String b) {
System.out.println("用"+a+"支笔写文章");
}
public void writeEssay(String a,int b) {
System.out.println("用"+b+"张志写文章");
}
public String writeEssay(String computer) {
System.out.println("用"+computer+"写文章");
return computer;
}
}
import java.util.Scanner;
/**
* 测试类
* @author lenovo
*
*/
public class Test {
public static void main(String[] args) {
Essay essay = new Essay();
essay.writeEssay(10,"aaa");
essay.writeEssay("xx","A4纸");
essay.writeEssay("",4);
String abc = "联想电脑";
String computer = essay.writeEssay(abc);
System.out.println(computer);
}
Eclipse常用快捷键有哪些
导包:Ctrl+Shift+O
格式化:Ctrl+Shift+F
输入sysout+Alt+/:System.out.println();
输入main+Alt+/:public static void main(String[] args) {}
实参与形参
实参:调用方法的时候传递的参数叫实参
形参:定义方法的时候,括号里面的参数叫形参
构造方法
对象成员变量赋初始值
构造方法的方法名必须与类名相同。
构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
构造方法的主要作用是完成对象的初始化工作。
/**
* 测试类
*
* @author lenovo64
*这只小狗是小白,白色正在和那只小猫叫做小黑,黑色在打架
*获胜的动物是黑色
*/
public class Test {
public static void main(String[] args) {
Animal dog = new Animal("小黑", "小猫", "黑色");
Animal cat = new Animal("小白", "小狗", "白色");
String s = dog.play(cat, dog);
System.out.println("获胜的动物是" + s);
}
}
class Animal {
String name;
String kind;
int age;
String color;
long animalID;
String date;
public Animal(String name, String kind) {
this.name = name;
this.kind = kind;
}
public Animal(String name, String color, String kind) {
this.name = name;
this.color = color;
this.kind = kind;
}
public Animal(String name, int age, long animalID) {
this.age = age;
this.animalID = animalID;
}
public String play(Animal dog, Animal cat) {
System.out.println("这只" + dog.color + "是" + dog.name + "," + dog.kind + ",正在和那只" + cat.color + "叫做" + cat.name
+ "," + cat.kind + ",在打架");
return cat.kind;
}
}
/**+
*
* 动物练习
* @author Zjm
*
*/
public class Ex_animal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal an1 = new Animal("兔子","草",5);
Animal an2 = new Animal();
Animal an3 = new Animal(an1,an2);
an2.all(an3);
}
}
class Animal{
String name;
String eat;
int weight;
public Animal() {
this.name = name;
this.eat = "猪蹄";
this.weight = 12;
}
public Animal(Animal a,Animal b) {
this.name = b.name;
this.eat = a.eat;
this.weight = b.weight;
}
public Animal(String name,String eat,int weight) {
this.name = name;
this.eat = eat;
this.weight = weight;
}
public Animal(String name,int weight) {
this.name = name;
this.weight = weight;
}
public void eat1() {
System.out.println("这个动物喜欢吃" + this.eat);
}
public void run() {
System.out.println("这个动物会跑");
}
public void all(Animal an) {
System.out.println("这是一只 " + this.name + ",它喜欢吃 " + an.eat + ",它重 " + an.weight +" 斤");
}
}
jdk与jre的作用
jdk:java的开发工具
jre:java运行需要的环境
Java可移植性
把代码编译成字解码运行到Jvm,因为jvm是可以跨平台运行的,所以代码可以跨平台运行。