标签:
关键字:类,对象,成员变量,方法,构造方法,方法重载,this,static
1.对象和类的概念
类:包含成员变量,方法
对象:设置成员变量,调用方法(对象.方法名)
成员变量 = 属性,方法 = 函数。
2.类的定义
用class关键字定义一个类
声明成员变量,静态变量用static
静态变量无需new对象,直接类名.静态变量名 引用
声明方法(),有返回值,无返回值。
3.对象的创建和使用
使用new关键字创建对象
引用成员变量:对象名.成员变量
引用方法:对象名.方法()括号里面是参数
4.方法
形参:
实参:调用方法时实际传给方法的数据
返回值:方法执行完毕return给调用它的环境的数据
返回值类型:事先约定的返回值类型,如无返回值,方法的返回值类型应定义为void
调用方法:对象名.方法名(参数列表)
return终止方法的运行
5.构造方法
构造方法也叫构造函数,用于初始化对象
构造方法与类同名且没有返回值
使用new+构造方法(参数)创建一个新的对象
当没有指定构造方法时,编译器自动添加如类名(){}的构造函数
6.方法重载
一个类中相同名字,不同参数(类型,数量)的多个方法,调用时根据参数选择对应方法
构造方法也可以重载
浮点数默认为double类型,数字后加F可以强制转换为float类型
7.this关键字
this指向自身,this.变量名 指的是当前对象的变量名
8.static关键字
static限定符声明的成员变量为静态成员变量
static成员变量为该类的公用变量,static成员变量只有一份
static成员变量不需要new新的对象也可以使用
使用类名.成员变量名即可访问static成员变量(不需要实例化)
相关代码:
构造方法
Person.java
public class Person{
int id;
int age;
Person(int _id,int _age){
id = _id;
age = _age;
}
Person p = new Person(1,5);
}
对象的创建和修改
class BirthDate{
private int day;
private int month;
private int year;
public BirthDate(int d, int m, int y){
day = d;
month = m;
year = y;
}
public void setDay(int d){
day = d;
}
public void setMonth(int m){
month = m;
}
public void setYear(int y){
year = y;
}
public int getDay(){
return day;
}
public int getMonth(){
return month;
}
public int getYear(){
return year;
}
public void display(){
System.out.println(day+"-"+month+"-"+year);
}
}
public class Test{
public static void main(String args[]){
Test test = new Test();
BirthDate d1 = new BirthDate(1,1,2001);
test.changer(d1);
d1.display();
}
public void changer(BirthDate d){
d.setDay(2);
d.setMonth(2);
d.setYear(2002);
}
}
方法的引用
TestPoint.java
class Point{
private int x;
private int y;
private int z;
Poin t(int a,int b,int c){
x = a;
y = b;
z = c;
}
public void setX(int a){
x = a;
}
public void setY(int b){
y = b;
}
public void setZ(int c){
z = c;
}
public void display(){
System.out.println(x+""+y+""+z);
}
}
public class TestPoint{
public static void main(String args[]){
TestPoint testPoint = new TestPoint();
Point p1 = new Point(1,1,1);
Point p2 = new Point(2,2,2);
testPoint.changer(p1);
p1.display();
p2.display();
}
public void changer(Point p){
p.setX(3);
p.setY(3);
p.setZ(3);
}
}
This的使用
public class TestThis{
int i = 1;
TestThis(int i){
this.i = i;
}
TestThis increment(){
i++;
return this;
}
void print(){
System.out.println(i);
}
public static void main(String args[]){
TestThis leaf = new TestThis(100);
leaf.print();
leaf.increment().increment().print();
}
}
TestCircle.java
class Point{
private double x;
private double y;
Point(double _x,double _y){
x = _x;
y = _y;
}
public void setX(double i){
x = i;
}
public double getX(){
return x;
}
public void setY(double i){
y = i;
}
public double getY(){
return y;
}
}
class Circle{
Point o;
double radius;
Circle(Point p,double r){
o = p;
radius = r;
}
Circle(double r){
o = new Point(1.0,1.0);
radius = r;
}
public void setO(double _x,double _y){
o.setX(_x);
o.setY(_y);
}
public Point getO(){
return o;
}
public void setRadius(double r){
radius = r;
}
public double getRadius(){
return radius;
}
public double area(){
return radius * 3.14 * 3.14;
}
boolean contains(Point p){
double x = p.getX() - o.getX();
double y = p.getY() - o.getY();
if(x*x + y*y > radius) return false;
else return true;
}
}
public class TestCircle{
public static void main(String args[]){
Circle c1 = new Circle(new Point(2.0,3.0),1.0);
Circle c2 = new Circle(5.0);
System.out.println("c1"+c1.o.getX()+""+c1.o.getY()+""+c1.radius);
//System.out.println("c1"+c1.getO().getX()+""+c1.getO().getY()+""+c1.radius);
System.out.println("c2"+c2.o.getX()+""+c2.o.getY()+""+c2.radius);
System.out.println("c1 area" + c1.area());
System.out.println("c1 area" + c2.area());
double r1 = 6;
c1.setO(5.0,6.0);
c1.setRadius(++r1);
c2.setRadius(3.0);
System.out.println("c1"+c1.o.getX()+""+c1.o.getY()+""+c1.radius);
//System.out.println("c1"+c1.getO().getX()+""+c1.getO().getY()+""+c1.radius);
System.out.println("c2"+c2.o.getX()+""+c2.o.getY()+""+c2.radius);
System.out.println("c1 area" + c1.area());
System.out.println("c1 area" + c2.area());
Point p = new Point(5.2,6.3);
System.out.println(c1.contains(p));
System.out.println(c2.contains(p));
}
}
static的使用
public class Cat{
public static int sid = 0;
public int id;
public String name;
Cat(String name){
this.name = name;
id = sid++;
}
void print(){
System.out.println(id+""+name);
}
public static void main(String args[]){
Cat.sid = 100;
Cat mimi = new Cat("mimi");
Cat pipi = new Cat("pipi");
mimi.print();
pipi.print();
}
}
标签:
原文地址:http://www.cnblogs.com/qiantianyu/p/4356625.html