你好,我为我的Java课程编写了一个二叉树程序,但因为“没有面向对象封装”而扣了很多分。但我认为封装只是使用类,这样不就可以了吗?为了实现面向对象封装,我应该做些什么不同的事情呢?以下是我的工作代码。感谢任何意见或建议。
public class BinTree {
private Node root;
private static class Node{
Node left;
Node right;
int value;
Node(int newValue){
left = null;
right = null;
value = newValue;
}
}
BinTree(){
root = null;
}
public void insertNode(int value){
root = insertNode(root, value);
}
private Node insertNode(Node node, int value){
if (node==null){
node = new Node(value);
}
else{
if (value <= node.value){
node.left = insertNode(node.left, value);
}
else {
node.right = insertNode(node.right, value);
}
}
return(node);
}
public void treeWalk(){
treeWalk(root);
}
private void treeWalk(Node node){
if(node != null){
treeWalk(node.left);
System.out.println(node.value);
treeWalk(node.right);
}
}
}