面向对象学习1部分
来源:互联网 发布:java实现dijkstra 编辑:程序博客网 时间:2024/06/05 19:39
环境变量配置:运行 cmd ,查看set path,set classpath=%path%;C:/...
我的电脑-属性-高级-环境变量 ,设置path的路径
类内部的变量叫成员变量,函数内的变量叫局部变量,局部变量会隐藏成员变量
(overloaded)函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要他们的参数个数或类型不同即可。
构造函数的特点:1他与类相同的名称
2他不含返回值
3他不能在方法中用return语句返回一个值
被自动调用,产生对象后就被调用,如果没有构造函数系统会自动产生一个什么都不做的。例如person(){}
new类名(参数)
this
实现存在的对象被调用
每个成员方法内部豆油一个this引用变量指想调用这个方法的对象
finalize()方法 垃圾回收 类似于c++中的析够方法
例子文档
class Person
{
private int age;//=-1;显示初始化//这是一个成员变量 这个变量是private私有的
private String name;
void shout()//成员函数
{
//int age=60;//局部变量会隐藏类的成员变量
System.out.println(name+ " 's my age is "+age);
}
public Person()//这个函数是构造函数,前面没有返回类型
{
//age = 10;//对所有person对象进行初始化
System.out.println("the constructor1 is calling!");
}
public Person(String name)
{
//this.name = name;
}
public Person(String name,int age)
{
//this.name = name;
this(name);//构造方法调用构造方法
this.age = age;//this关键字的使用
}
public void finalize()
{
System.out.println("Object is gonging!");
}
public void setAge(int x)
{
if(age < 0)
return;
age = x;
}
public int getAge()
{
return age;
}
public void getSomeOne(Person p)
{
p.shout();
}
public void fun1()
{
System.out.println(name);
}
public void fun2()
{
Person a2 = new Person("a2");
a2.fun1();
this.fun1();//this已经存在的还不知道名字的对象,访问同类成员this也可以省略
}
public static void main(String [] args)//main函数,启动运行类
{
/*Person a1 = new Person("a1");
a1.fun2();*/
new Person();
new Person();
new Person();
System.gc();//收垃圾
/*Person p1 = new Person();
Person p2 = new Person("zangsan",20);
Person p3 = new Person("wangwu");
p1.age = -30;//如果age是private lesson3.java:17: age has private access in Person p1.age = -30;
p1.shout();
p2.shout();//p2标示对象初始化为0
p3.shout();*/
//p1.getSomeOne(p2);
/*String str1 = new String("abc");//定义一个String的引用变量
String str2 = new String("abc");
String str3 = str1;
//if(str1 == str2)//不是同一个对象
//if(str1 == str3)//指向的对象是同一个
if(str1.equals(str2))//用equals方法进行比较(长相)
System.out.println(true);
else
System.out.println(false);
//new Person().shout();//没有指定 匿名对象*/
//getSomeOne(new Person());//实例对象
}
}
class TestPerson
{
public static void main(String [] args)//main函数,启动运行类
{
Person p1 = new Person();
Person p2 = new Person();
//p1.age = -30;//如果age是private lesson3.java:17: age has private access in Person p1.age = -30;
p1.shout();
p2.shout();//p2标示对象初始化为0
/*String str1 = new String("abc");//定义一个String的引用变量
String str2 = new String("abc");
String str3 = str1;
//if(str1 == str2)//不是同一个对象
//if(str1 == str3)//指向的对象是同一个
if(str1.equals(str2))//用equals方法进行比较(长相)
System.out.println(true);
else
System.out.println(false);
//new Person().shout();//没有指定 匿名对象*/
getSomeOne(new Person());//实例对象
}
public static void getSomeOne(Person p)//p是引用变量
{
p.shout();
}
}
class Container
{
Component comp;
public void addComponent()
{
comp = new Component(this);
}
}
class Component
{
Container c;
public Component(Container c)
{
this.c = c;
}
}
- 面向对象学习1部分
- 面向对象部分学习总结
- java面向对象学习日志(上半部分)
- Java学习总结:面向对象部分学习总结
- 面向对象 第一部分
- 面向对象 第二部分
- 面向对象部分_201
- 面向对象部分_202
- 面向对象部分_203
- 面向对象部分_204
- 面向对象部分_205
- 面向对象部分_206
- 面向对象部分_207
- 面向对象部分_208
- 面向对象部分_209
- 面向对象部分_210
- 面向对象基础部分
- 2--java面向对象语法学习(部分1-变量,重载,重写)
- 组织管理体系推广经验之零-前言
- WINCE快捷方式详解
- 组织管理体系推广经验之一-为什么需要PMO?
- DELPHI讲义
- 组织管理体系推广经验之二-软件项目为什么有了PM和PMO还需要SQA?
- 面向对象学习1部分
- 组织管理体系推广经验之三-项目管理体系的投资与回报分析
- 组织管理体系推广经验之四-适用性带来的阻力
- 多线程编程的一点讨论
- API SelectObject
- API SelectObject
- WMP11 官方简体中文版下载
- java 字符的转化
- “我顶你个肺”是什么意思?