1.开发Java程序的步骤
1.编写源程序 hello.java
2.编译源程序 hello.class
3.运行
2.使用Eclipse开发Java程序的步骤
1.创建一个java项目
2.手动创建java源程序
3.编译java源程序
4.运行java程序
3.Java中运算符的优先级是怎么排列的
4.java无指针,返回对象的引用
5.java会给成员变量一个初值,Java不会给局部变量赋予初始化
6.字符串
String类提供了大量的操作字符串的方法
获得字符串的长度:length()
比较字符串:equals()
equalsIgnoreCase( )忽略大小写
toLowerCase() 把字符串转换为小写
toUpperCase( )把字符串转换为大写
连接字符串:concat()
提取字符串:substring()
搜索字符串:indexOf()
拆分字符串:split()
常用的StringBuffer类提供的方法
转换成String类型:toString()
连接字符串:append()
插入字符串:insert()
String a = "hello";
string b = " world";
a.length();
a.equals(b);
a.concat(b);
a.indexOf('@');//返回下标
a.substring(1,4);//[1,4)
String words = "长亭外 古道边 芳草碧连天 晚风扶 柳笛声残 夕阳山外山"
String[ ] printword=new String[100];
printword=words.split(" "); //拆分字符串,返回值为字符串数组
for(int i=0;i<printword.length;i++){
System.out.println( printword[i] );
}
7.字符串直接赋值与new的区别
对于第一种方式· java有一个字符串缓冲区 你新建一个的时候它会先找缓冲区里有没有这个字符串 如果有 直接返回引用 没有就在里面新建
第二种方式 新建一个 它首先也会去缓冲区里边查找 不管有没有 它都会在堆里新建一个 如果缓冲区里面没有 则在缓冲区里面也新建一个·
8.如何将String转换成StringBuffer?如何将StringBuffer转换成String?
使用StringBuffer的toString()方法,可以将StringBuffer转换成String
9.构造方法
完成对象的初始化工作
10.static关键字修饰的方法可以直接通过类名掉用但是只能使用类中的static变量,普通方法只能在创建对象之后才能调用
static关键字定义的变量是所有类的实例中共享的
使用staitc修饰成员时,如何分配内存空间?
使用static修饰方法时,该方法可以使用那些属性值?
使用static修饰代码块时,该代码块在什么时候执行?
修改类中的static变量的时候,再次创建对象的时候,这个变量是被改变了的
我们什么时候使用static来定义方法??
当一个类没有属性成员,而只有方法时,使用static来定义方法,好比Java.lang.math类,这是个工具类,只需要用户拿来使用它其中的各种数学方法,而不需要去实例化成员,这时候就需要将类中的方法用static修饰,省去了构造方法实例化对象的繁琐步骤。
11.从现实世界抽象出类的步骤是什么?
12.方法重载的规则有哪些?
必须在同一个类中
方法名相同
参数项不相同
与访问修饰符无关
声明为final的方法不能被重载。
声明为static的方法不能被重载
方法重载是让类以统一的方式处理不同类型数据的一种手段。
13.如何实现封装?
1.修改属性的可见性:private
2.创建公有的geter/setter,用于属性的读写
3.在getter/setter方法中加入属性值的合法性进行判断
14.protected和默认(default)两种可见性有什么区别?
1.对类而言:
(1)public:在所有的包中均可见
(2)default(默认):只在该类所在包中可见
注:类不能用private和protected来修饰
2.对成员变量和成员方法而言:
(1)public:在所有包中均可见(且可调用)
(2)protected:包内所有类中均可见(且可调用),包外有继承关系的子类可见(仅可在子类内部调用)
(3)private:只在同一个类中可见(且可调用)
(4)default(默认):
注意:
在同一个包中,尽管是protected的方法和属性,包内的任何类都可以访问到。
在父类和子类不在同一个包中的前提下,对于子类来说,子类继承了父类所有的属性和方法(任何访问修饰符),虽然对从父类继承来的protected的属性和方法可见,但是只能在子类的内部进行访问,即:(this.)方法名、(this.)属性名进行访问和操作,而无法在外部对子类进行实例化,并用子类对象.protected方法或属性来访问。